我正在尝试使用找到的脚本通过电子邮件发送星号语音记录这里但它并没有发送文件,而是将文件路径放在所发送电子邮件的顶部。我相信所有权限都是正确的,日志文件也没有显示任何错误。我希望有人能帮助我进一步排除故障。
当我对电子邮件顶部的文件运行 ls -lrt 时,附件的文件名似乎是正确的。有没有办法让 postfix 为其日志添加更多详细信息?
剧本
#!/bin/bash
#This script emails the recorded call right after the call is hung up. Below are the variables passed through asterisk
# $1 - year
# $2 - month
# $3 - day
# $4 - Time String
# $5 - Source
# $6 - File
# $7 - Destination
# $dt - Date and Time
dt=$(date '+%m/%d/%Y %r');
echo -e "You have a new call recording to listen to \n\n
The call date and time was $dt \n\n
The call was from $5 \n\n
The call was to $7 \n\n
Please see the attached file \n\n" | mail -a /var/spool/asterisk/monitor/$1/$2/$3/$6 -s "New Call Recording" [email protected]
发送以下电子邮件
标题“新通话记录”
/var/spool/asterisk/monitor/2016/02/11/internal-99-101-20160211-123644-1455154604.21.wav
You have a new call recording to listen to
The call date and time was 02/11/2016 12:36:53 PM
The call was from 101
The call was to 99
Please see the attached file
ps - aux 显示 Asterisk 以自己的用户身份运行
ps -aux | grep 星号
asterisk 619 0.0 0.8 314092 8532 ? S 12:26 0:00 /usr/sbin/apache2 -k start
asterisk 621 0.0 0.8 314092 8532 ? S 12:26 0:00 /usr/sbin/apache2 -k start
asterisk 622 0.0 0.8 314092 8532 ? S 12:26 0:00 /usr/sbin/apache2 -k start
asterisk 623 0.0 0.8 314092 8532 ? S 12:26 0:00 /usr/sbin/apache2 -k start
asterisk 624 0.0 0.8 314092 8532 ? S 12:26 0:00 /usr/sbin/apache2 -k start
asterisk 971 1.2 4.9 1855636 50188 ? Ssl 12:26 0:15 /usr/sbin/asterisk -U asterisk -G asterisk
mail.log 文件显示用户星号是发送出站邮件的帐户。
/var/log# cat mail.log
Feb 11 12:36:07 APSPBX postfix/pickup[1172]: 9B54061A6B: uid=1001 from=<asterisk>
Feb 11 12:36:07 APSPBX postfix/cleanup[1701]: 9B54061A6B: message-id=<20160211013607.9B54061A6B@APSPBX>
Feb 11 12:36:07 APSPBX postfix/qmgr[1173]: 9B54061A6B: from=<asterisk@APSPBX>, size=619, nrcpt=1 (queue active)
Feb 11 12:36:22 APSPBX postfix/smtp[1644]: 9B54061A6B: to=<[email protected]>, relay=smtp.gmail.com[173.194.72.108]:587, delay=15, delays=0.02/0/13/1.8, dsn=2.0.0, status=sent (250 2.0.0 OK 1455154590 s21sm7891538pfi.29 - gsmtp)
Feb 11 12:36:22 APSPBX postfix/qmgr[1173]: 9B54061A6B: removed
Postfix 尝试获取附件的文件夹和文件归 asterisk 用户所有。
ls -lrt /var/spool/asterisk/monitor/2016/02/11/
total 484
-rw-r--r-- 1 asterisk asterisk 139564 Feb 11 12:34 internal-99-101-20160211-123412-1455154452.7.wav
-rw-r--r-- 1 asterisk asterisk 213164 Feb 11 12:36 internal-99-101-20160211-123554-1455154554.14.wav
-rw-r--r-- 1 asterisk asterisk 135084 Feb 11 12:36 internal-99-101-20160211-123644-1455154604.21.wav
提前致谢
答案1
看来你正在使用GNU 邮件实用程序其中-a
选项表示附加一个标题(见下文)。
−a, −−append=HEADER: VALUE 将给定的标题附加到正在发送的消息
至于邮箱实用程序-a
选项指的是附件:
-一份文件
将给定的文件附加到消息。
因此,请检查您的操作系统和所使用的发行包。使用类似 的命令man mail
,您可以自己找出您正在使用的邮件命令以及 -a 选项的含义。
对于替代解决方案,您只需使用以下mutt
命令:
echo "Here goes the message body....." | mutt -a "/path/to/attachment_file" -s "Subject.." -- [email protected]