📄 00000003.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: wxb1 (ben), 信区: Linux <BR>标 题: [4/8] 语音、传真、EMAIL的整合 <BR>发信站: BBS 水木清华站 (Fri Jun 11 14:17:10 1999) <BR> <BR> <BR> <BR>以Linux实作 语音/传真/EMAIL/BBC 整合系统 <BR>4.语音、传真、EMAIL的整合 <BR> <BR> Linux系统要建立具有语音、传真及EMAIL的各项服务功能,并不困难, <BR>但若都各自独立无法互通,那对讯息的利用,就显得颇为狭隘,无法因时至宜选 <BR>择最适合的方式传送或接收讯息,以下即承接先前两篇语音及传真的作法,探讨 <BR>语音与EMAIL的互转,及传真与EMAIL的互通。 <BR> <BR>语音至EMAIL <BR> <BR> 语音至EMAIL是指在系统中的留言,可根据使用者当初的设定,决定是 <BR>否要送出一EMAIL通知他,此EMAIL会将留言转成WAVE档案,以UUENCODE的方式附 <BR>加在电子邮递中,使用者收到此信的同时,也可听取对方的语音留言。 <BR>留言档案PCM格式转成WAVE格式的档案,可以用一工具程式"sox"来做转换,在此 <BR>处用法为: <BR>sox -r 7200 -b -u voice.pcm voice.wav <BR>其中 -r 7200 是指PCM Raw Data的取样频率为7200次/每秒,-b 是指每次取样 <BR>是以一个位元组(byte)表示,且为无正负号的表示(-u : unsigned ), 输 <BR>入的档案为 voice.pcm,转换後输出的档案为 voice.wav。发出EMAIL是用 <BR>sendmail, <BR>完整的语音至电子邮递副程式如下: <BR> <BR>Voc2Mail() <BR>{ <BR> # 先读取该使用者的设定 <BR> read userReg < ${MAINPATH}conf/$1.reg <BR> # 由第五栏位得知USER的EMAIL <BR> email=`echo $userReg | cut -d"," -f5,5 -s` <BR> # 由第十一栏位得知是否要发送EMAIL <BR> to_email=`echo $userReg | cut -d"," -f11,11 -s` <BR> if [ '$to_email' != '0' ]; then <BR> if [ $email ]; then <BR> # 先将EMAIL的标头及内容写入一暂存档,再由sendmail寄出 <BR> $ECHO "From: <A HREF="mailto:fax@ns.fancy.com.tw">fax@ns.fancy.com.tw</A> (VOICE to EMAIL)" > ${1}mailv. <BR>txt <BR> $ECHO "Subject: 有您的语音讯息" >> ${1}mailv.txt <BR> # 加入 LF 作为标头与内容的分野 <BR> $ECHO "" >> ${1}mailv.txt <BR> <BR> # PCM a WAVE <BR> $SOX -r 7200 -b -u ${MAINPATH}voc/${2}.raw /tmp/${1}voc.wav <BR> # 以UUENCODE编码後加入暂存档 <BR>$UUENCODE ${1}_voc.wav < /tmp/${1}voc.wav >> ${1}mailv.txt <BR> # sendmail 送出EMAIL <BR>/usr/sbin/sendmail $email < ${1}mailv.txt <BR># 删除暂存档及已送出的WAVE档 <BR> $RM -f ${1}mailv.txt <BR> $RM -f /tmp/${1}voc.wav <BR> fi <BR> fi <BR>} <BR> <BR>除了将以上副程式加入外,在先前论及"语音数据机录/放音"的程式范例中,尚 <BR>未填入的"------- Voice a EMAIL -----"段落中,也需加入以下的呼叫: <BR> <BR>Voc2Mail $UserID $filename <BR> <BR>传真至EMAIL <BR> <BR> 传真至EMAIL与语音至EMAIL类似,也就是将送进系统的传真档案,转成 <BR>GIF的图档,以UUENCODE编码後再以EMAIL的形式送给使用者,因此使用者即使没 <BR>有传真机,依然可以接收对方的传真。因EFIX软体并未直接支援GIF的档案格式 <BR>,所以传真档案格式(tiffg3)要转成GIF档,尚需藉助其他的工具软体: <BR>PBMPLUS,PBMPLUS是一组处理各式图档转换的程式,这里仅用到其中两个程式, <BR>其转换流成为: <BR> <BR> TIFFG3 -(efix)a PGM -(pgmtoppm)a PPM -(ppmtogif)a GIF <BR> <BR>完整的传真至电子邮递副程式如下: <BR> <BR>Fax2Mail() <BR>{ <BR> # 先读取该使用者的设定 <BR> read userReg < ${MAINPATH}conf/$1.reg <BR># 由第五栏位得知USER的EMAIL <BR> email=`$ECHO $userReg | cut -d"," -f5,5 -s` <BR> <BR> # 由第十一栏位得知是否要发送EMAIL <BR> to_email=`$ECHO $userReg | cut -d"," -f10,10 -s` <BR> if [ '$to_email' != '0' ]; then <BR> if [ $email ]; then <BR> # 传真可能不只一页,找出每页档案 <BR> faxfiles=`$FIND ${MAINPA辉荽娴抵校
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -