星号记录后保存到.wav文件自动电子邮件,如gmail



首先我已经完成了记录并保存到'.wav'文件,我也完成了使用'后缀'发送'.wav'的脚本,我的问题是当记录完成时自动将'.wav'文件发送到我的电子邮件,例如'gmail',

我该怎么办?
脚本应该指向extension.conf吗?
或我是否需要设置一个变量,.wav文件的文件名将连接到我的脚本?

下面是我的extension .conf

的示例脚本
(出站)


=> 1, 1,Answer()
Background(silence/1)
扩展=> s,3,ControlPlayback(/var/example)
exten => s 4记录(/var/ $ {callfile_name} $ {STRFTIME(${时代}却y % m % d % - % H % m)} . wav, 0, 5, qxk )
=> s,5,Hangup()

这是使用'postfix'向我的gmail发送电子邮件的脚本

(printf "%sn"
"主题:Example_Subject"
"To: example_email@gmail.com"
"Content-Type: application/wav"
"附加项:附件;文件名= examplewav.wav "
"Content-Transfer-Encoding: base64"
";base64 examplewave .wav) | sendmail "example_email@gmail.com"

您可以将文件名设置为一个变量,并通过h扩展名在挂起时执行sendmail。

[outbound]
exten => s,1,Answer()
exten => s,n,Background(silence/1)
exten => s,n,ControlPlayback(/var/example)
exten => s,n,Set(filename=${callfile_name}${STRFTIME(${EPOCH},GMT-8,%m%d%y-%H%M)}.wav)
exten => s,n,Record(/var/${filename},0,5,qxk)
exten => s,n,Hangup()
exten => h,1,System(/opt/scripts/wavmail.sh ${filename} example_email@gmail.com)

/opt/scripts/wavmail.sh(第一个参数$1,第二个参数$2,…)

#!/usr/bin/env bash
(printf "%sn" 
"Subject: Example_Subject" 
"To: $2" 
"Content-Type: application/wav" 
"Content-Disposition: attachment; filename=$(basename $1)" 
"Content-Transfer-Encoding: base64" 
""; base64 $1) | /usr/bin/sendmail "$2"

推荐方式:在话单中保存有关发送该文件的位置的信息,如果话单中有该字段,则使用外部守护进程(使用队列)发送文件。这是最具扩展性的方式。简单的方法-看看pce的答案。

相关内容

  • 没有找到相关文章

最新更新