安装与设置FAX传真服务器(3)

2019-09-02 14:04

HylaFAX发送出去。这真是一个绝妙的好点子,简单又易行,只是还有一个小小问题需要注意――很多时候我们的文件是分多次打印到打印机的,尽管看起来好像是一次。说句题外话,我很喜欢举这个例子来说明什么是编程中意想不到的副作用。

举例来说,你收到同事发来的电子邮件,正文中和你讨论了替换公司Web服务器磁带机的进度,附带一份Acrobat PDF格式的进度报告和一份Word DOC格式的供应商报价。为防止眼睛过度疲劳,你决定打印到网络上的激光打印机上以便阅读。当发出打印指令后,你的Outlook首先打印正文,然后激活Acrobat Reader打印进度报告,最后激活Word打印供应商的报价单。从打印机上看,三者将依次打印,间隔不过数秒钟,几乎不太可能有另一份打印作业插入到它们中间(尽管繁忙时不排除这个可能性,实际中也确实会发生),效果上和一次性打印没有两样。

但是对于传真,你的正文和进度报告之间相隔2、3分钟,进度报告和报价单又相隔3、4分钟,这种情况并非不常见。由于以上原因,在你的进度报告和报价单中间有时会插入一份来自其他发送者的会议邀请函再加一份内部会议议程表。我们对此几乎无能为力。打印机上万一出现了插队现象,由于打印者对文档的内容很清楚,可以轻易挑出自己的文件;位于电话线那头传真机边上的接收人可没有这个便利条件,我们唯一可以做的就是为相关联的多份传真做好标记,比如在封面页上标上Part 1 of 3、Part 2 of 3、Part 3 of 3等等。

希望对面是位认真负责的伙计(A型血尤佳:)

e)HylaFAX服务器试图将IP地址转换为域名。如果你的主机没有域名的话,反向解析将导致漫长的等待。解决办法不值一提:给它所要求的。你有两个选择,或者维护一份hosts文件,或者运行一个DNS服务器。

B)email to fax

首先要说的是,此项功能并不完善,因此不要期望过高。其次,它相当复杂。最后,也是最致命打击,它目前只支持us-ascii和iso-8859-1编码,所有中文被解码为一堆天书。请所有用户注意练习英文,不要出有损公司形象的语法和拼写错误。

faxmail从标准输入读取数据,从头行当中,也就是From、To、Cc和Subject,解析出发送传真的必要信息。头行的写法好似史前人类图腾上描摹的巫咒,复杂程度几乎够得上一个微型标记语言,你要在里面指定发送人、接收人、传真号码等信息,设置Tab字符宽度、字体路径等诸多细节。

这听起来不错,理论也说得通,可是正所谓知易行难,执行起来根本不是那一回事。问题在于,情况不象7位 ASCII字符的控制台时代那么单纯----我们有了HTML邮件和MIME编码。单独一个已经挺难对付的了,何况两者一起兴风作浪。考虑一下一个混合了JavaScript脚本、JPEG和GIF图片、ActiveX控件、使用魏碑体的电子邮件,上面嵌入了一张Excel电子表格,该表格的部分数据存放在另一部电脑的关系数据库里!真够瞧的。

显然我们的传真服务器不可能大包大揽,同时身兼HTML渲染引擎、脚本解释器、Excel和SQL查询引擎(以及其它各种知名或不知名的应用程序)的功能,更不要说字体这类细节。既然faxmail不可能打中移动的靶子,此项功能对邮件内容的范围有严格的限制。首先,要求是纯文本邮件,其次,所有不可显示的MIME编码的内容,包括音频、视频、二进制数据等,都被舍弃了。faxmail内建仅可以识别text/plain、multipart/mixed、multipart/digest、message/rfc822、applica-tion/postscript

application/x-faxmail-prolog MIME类型。也就是说,附带的Excel表格、PDF文档甚至TIFF图片全部都会被不动声色地清理掉。

结果,真糟糕,被传送的传真往往出乎不了解技术细节的用户的意料,完全走了调。

诸位,相信我,这不是事前的精心设计,而是事后无奈的修补,其方法就是每发现一个接不上榫的地方就得有个新标记加入进来处理――毕竟传真和电子邮件的设计是独立进行的,不能很好地交互虽然让人沮丧,倒也在意料之中。

总之,这玩艺颇不光明正大,有鸡鸣狗盗之风,非处常之法,君子所不取。因此请原谅,我决定在开始讨论讨论这项用处不大、麻烦不小的功能之前尽快结束掉这一节。执意不听者请自行察看man page。注意安全。

接收传真

faxgetty会把刚接收到的传真(TIFF格式)放入recvq队列并调用faxrcvd脚本加以处理。常见的方式有两种:

A)fax to email

最常用的传真处理手段是将收到的传真以指定的格式作为电子邮件的附件传送给传真管理员FaxMaster的电子邮箱。传真管理员初步查看和分拣传真,然后转发给适当的人员。因为缺乏足够的信息,传真并不能象电子邮件那样自动分发。HylaFAX服务器手上所有的只是一幅TIFF图片,发送/接收人信息齐全,就在那儿,但没有方法加以利用。希望随着图像识别技术的进步这一问题能够解决。

B)直接传送到到打印机

一般来说,PostScript打印机是最易使用的。在faxrcvd中添加打印功能即可,具体的命令取决于你所采用的打印软件。例如我常用HP LaserJet 2100TN网络打印机和行式打印机守护进程lpd,因此修改faxrcvd为

/usr/bin/tiff2ps -a $FILE | lpr

当然,在此之前需要先配置好你的打印机。

8.访问控制和传真路由

在加以说明之前,有几个在HylaFAX文档中反复提及的名词需要略加解释,它们是CID、DNIS和TSI。

什么是CID?喜欢看港产警匪片的读者可能想起了Criminal Investigation Department,不过这里的意义就是Caller IDentification的缩写,一个代表联接另一方的标识符。Caller ID大致相当于来电显示服务,可查知拨叫者的电话号码,该功能需要PSTN网络支持。该信息由电信服务商提供,可能需要申请开通和/或付费。由于拨叫者的电话号码理论上属于隐私,并不一定总能获得此项服务,具体情况取决于所处的国家和地区。

什么是DNIS?它是Dialled Number Identification Service的缩写,也由电信服务商提供,同样可能需要申请开通和/或付费。此服务可查知拨叫者正在拨叫的--也就是我们自己的--电话号码。一般情况

下我们当然清楚自己的电话号码,但如果有多条线路且有遇忙自动转线功能,DNIS也是有一定作用的。对运行HylaFAX服务器来说,DNIS用处不大,这里提到它主要是为了防止读者把它和CID混淆。

什么是TSI?它是Transmission Subscriber Identification的缩写,又一个代表联接另一方的标识符。和CID、DNIS不同,TSI由用户设置,通常是可打印字符的组合。

1)访问控制有两方面的含义: a)只接收期望的传真。

实际当中收到垃圾传真的可能性不大,其危害程度远远没有泛滥成灾的垃圾邮件那么严重。这主要是因为传真系统不如电子邮件系统便宜和快捷。一个垃圾邮件制造者可以以极低的成本向无辜的人们发送数以百万计的电子邮件,但一百万份传真则几乎是不可能的任务――通信费用高昂,时间上也不允许。另外,传真运行在传统的面向虚电路的电话交换网络上,不太容易抹去发送者的信息,难以象垃圾邮件制造者那样保持匿名。警方根据电话号码按图索骥,很快就会找上门来,发送者将会面临法律上的麻烦。

无论如何,你可以通过在hfaxd.conf中指定QualifyTSI、QualifyCID来排除不速之客。通过设置/var/spool/hylafax/etc/cid和/var/spool/hylafax/etc/tsi文件,你可以指定想要和不想要的传真,faxgetty在建立联接之前会根据这些文件盘查拨入的电话,给不受欢迎的恶客一个清脆的闭门羹,不亦快哉!

b)不多不少只有已授权的人可以从已授权的机器上发送传真。

访问控制在新版本的HylaFAX服务器中得到了很大改进――较老的版本中只能指定哪些主机可发送传真,并没有基于用户/密码的机制。

在hosts.hfaxd中指定客户端的访问控制。默认情形下,该文件包含以下两行 localhost 127.0.0.1

这时HylaFAX仅接受本机的联接请求。如果我们有一个IP子网192.168.1.0/24,运行命令 [/] echo \

将允许子网内的所有电脑/用户联接到HylaFAX服务器。再一次地,我们可以运行命令 [/] echo \

以允许192.168.2.8/24主机上的用户alan访问HylaFAX服务器。

你也可以为用户指定密码,并且正则表达式同样可应用在这里。

2)传真路由

前面提到传真不支持自动分发(即路由)。虽说如此,我们倒也不是完全束手无策,因为我们手上多少还是有几张牌的。当传真接收完毕之后,faxgetty会把它和相关的会话信息,包括对方的TSI、CSI、支持的分辨率、传输速率14400、图像压缩方式等等,传递给faxrcvd脚本。faxrcvd脚本根据这些信息对收到的传真作初步的粗粒度分类,读取/var/spool/hylafax/etc/FaxDispatch配置文件来决定具体的路

由规则。路由规则一般是一个长长的case语句。借助正则表达式大强大威力,我们可以构造相当复杂的选择条件。在faxrcvd的手册页中有一个非常详尽的脚本范例,可作为量身定制脚本的出发点。

现在也可以指定附件的格式为TIFF、PDF或PostScript。例如要指定为TIFF格式,只须简单地在FaxDispatch中加上一行即可:

FILETYPE=tif

要知道,在过去的黑暗日子里,管理员们必须自己动手编制不同的脚本来生成不同的附件格式。

这里有一种稍加变化的方式。你可以选择可以在邮件中指明一个URL,然后通过运行在HylaFAX服务器上的FTP或Web服务器提供下载服务,优点是可以大大减小电子邮件的尺寸。对于那些惯于动辄cc给10多人的用户,这会大大减轻企业电子邮件系统的压力。

有件事要牢记在心:电信公司一般在第一/二次振铃之间发送CID或DNIS信息,因此如果你设置在三声振铃后faxgetty才接受拨叫,就会错失良机,这时CID或DNIS为空值。

附带说一句,我最常见到的TSI是\非常遗憾,大家都很忙,以至大多数传真设备并没有适当地设置TSI。我也见过各种稀奇古怪的TSI,诸如空白、电话号码、110,以及:you are pig。很有幽默感,嗯?

请检查你的传真机/传真服务器并正确设置TSI为贵公司名称或缩写。

9.查看收到的传真

传真主要以TIFF格式或PDF格式呈现给用户,少数情况下也使用PostScript格式。这些都是应用非常广泛的格式,根据平台的不同,我们有不同的查看器。

Windows附带的Imagimg for Windows(在不同的Windows上名称稍有不同)完美地支持TIFF文件。Adobe Acrobat Reader用于察看PDF文件,PostScrip文件可用GSView配合Ghostscript察看。需要指出的是,有些图像软件,例如著名的Acd See的某些版本并不能正确地察看多页TIFF文件,导致只能看见封面页。

Unix和Mac也有相应的察看器可用。

有一个小细节需要指出:HylaFAX支持1-D MR、2-D MR、2-D MMR压缩格式,默认情况下HylaFAX使用传输过程中和对方商定的格式保存收到的传真,因此recvq目录下的TIFF文件可能采用了不同的压缩格式。少数时候会碰到2-D MMR格式的TIFF文件,某些查看器对此种格式的支持没有1-D MR、2-D MR完善,可能会导致无法查看。为此我们可以使用/var/spool/hylafax/etc/config.ttySx中的RecvDataFormat参数指定一种标准的格式保存所有的传真,通常是2-D MR。

10.制作传真封面页

当今社会注重包装(有时甚至到了本末倒置的程度),因此传真封面页作为内容的脸面不可小视。

传真封面页通常包括收/发双方传真号码、公司名称、人员、主题以及内容提要。因此制作要点在于生成一页这些内容可动态改变的传真并在正确的时间,正确的位置,填上正确的内容。它当然和我们的传真一样,是PostScript格式。

制作传真封面页有不同的方法,这里介绍我常用的latex-cover包。在动手之前,我们先介绍必备工具LaTeX。

何谓 LaTeX?无它,一种排版用标识语言而已,由L.B.Lamport对D.E.Knuth(没错,就是写《计算机程序设计艺术》的那个D.E.Knuth)发明的TEX作了外层宏包装,最初的用途是数学论文排版(Knuth写的,你还能指望它做什么呢)。就其精神实质而言,LaTeX和XML相近,它描述元素的属性而不是格式化信息。

我们用普通的文本编辑器,比如说vi,创建一个扩展名为tex的LaTeX源文件faxcover.tex。latex尚未支持直接输出PostScript格式,因此我们先转换到dvi格式。输入以下命令 [/] latex faxcover.tex

这会输出一个faxcover.dvi文件,然后运行dvips把此dvi文件转化为PostScript格式。 [/] dvips -o faxcover.ps faxcover.dvi

做法并不复杂,难度在于LaTeX本身颇不简单。对大多数人来说,这是一种闻所未闻的新语言。既然如此,直接写PostScript岂不爽快?之所以兜这么个圈子,是因为PostScript远比LaTeX更复杂、更低级。要知道,PostScript 3 Language Reference有912页,编程手册更不用说,而文末列出的LaTeX教程一般不多于50页。现在你明白,选择LaTeX也是不得已而为之,所谓两害相权取其轻罢了。

当然,若你能直接用文本编辑器编写一个PostScript封面页出来,记住在简历上列出这一条,肯定能使人对你刮目相看:)

后面附有我制作的传真封面页,使你可以对此有个概念。在这个范例文件中,公司logo是使用Peter Kadal的TEXdraw包中的Bezier曲线函数画出的。偷懒的法子是用AutoCAD绘制出DWG图然后保存为EPS文件,然后导入到目标文件中。这样做的得到的是位图格式,目标文件较大,缩放时效果也较差。

生成的faxcover.ps文件还不能直接在GSView中打印或察看,因为它还包含着某些未定的域,导致渲染出错。


安装与设置FAX传真服务器(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高一化学《金属与酸和水的反应》说课稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: