Назад | Перейти на главную страницу

Postfix не прикрепляет файл из скрипта

Я пытаюсь отправить голосовую запись звездочки по электронной почте, используя найденный скрипт Вот но вместо отправки файла он просто помещает путь к файлу в верхней части отправленного электронного письма. Я считаю, что все разрешения верны, а в файлах журнала нет ошибок. Я надеялся, что кто-то поможет мне в дальнейшем устранении неполадок.

Имя файла для вложения кажется правильным, когда я запускаю 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 работает как собственный пользователь

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@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.

ls -lrt / var / катушка / звездочка / монитор / 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

заранее спасибо

Кажется, вы используете 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