Я пытаюсь отправить голосовую запись звездочки по электронной почте, используя найденный скрипт Вот но вместо отправки файла он просто помещает путь к файлу в верхней части отправленного электронного письма. Я считаю, что все разрешения верны, а в файлах журнала нет ошибок. Я надеялся, что кто-то поможет мне в дальнейшем устранении неполадок.
Имя файла для вложения кажется правильным, когда я запускаю 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@domain.com
Который отправляет следующее электронное письмо
Заголовок «Запись нового разговора»
/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 работает как собственный пользователь
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 показывает, что звездочка пользователя является учетной записью, которая отправляет исходящую почту.
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@domain.com>, 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.
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
заранее спасибо
Кажется, вы используете GNU Mailutils где -a
опция означает добавление заголовка (см. ниже).
−a, −−append = ЗАГОЛОВОК: ЗНАЧЕНИЕ добавить заданный заголовок к отправляемому сообщению
Для mailx полезность -a
опция относится к вложению:
-файл
Прикрепите к сообщению указанный файл.
Поэтому проверьте свою ОС и дистрибутив, который вы используете. С командой вроде man mail
, вы можете сами выяснить, какую почтовую команду вы используете и что означает параметр -a.
Для альтернативного решения вы можете просто использовать mutt
команда:
echo "Here goes the message body....." | mutt -a "/path/to/attachment_file" -s "Subject.." -- recipient@example.com