Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
sendEmail, написанная на Perl.
Проблема в том, что если запускаю с консоли с такими же параметрами, то письмо нормально отправляется. А вот с Астериска не хочет.
SYSTEMSTATUS пишет APPERROR. В логах sendEmailFeb 14 09:33:28 myserver sendEmail[63391]: ERROR => No TLS support! SendEmail can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
exten => 555,1,System(/usr/local/bin/sendEmail -f username@gmail.com -t recipient@ukr.net -u subj -m body -a /var/spool/asterisk/fax/fax.tif -s smtp.gmail.com:587 -xu user@gmail.com -xp PASSWD123 -l /tmp/log.sendemail -o tls=yes)
Возникло подозрение, что проблема именно с Perl'ом.
Пробовал так же System(/usr/pin/perl -e '/usr/local/bin/sendEmail -f username@gmail.com ...')
SYSTEMSTATUS пишет APPERROR, а в логах sendEmail чисто.
Asterik 11, FreeBSD9.1
> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
> sendEmail, написанная на Perl.
> Проблема в том, что если запускаю с консоли с такими же параметрами,
> то письмо нормально отправляется. А вот с Астериска не хочет.
> SYSTEMSTATUS пишет APPERROR. В логах sendEmail
> Feb 14 09:33:28 myserver sendEmail[63391]: ERROR => No TLS support! SendEmail
> can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения и скрипт не может найти библиотеки.
> exten => 555,1,System(/usr/local/bin/sendEmail -f username@gmail.com -t recipient@ukr.net
> -u subj -m body -a /var/spool/asterisk/fax/fax.tif -s smtp.gmail.com:587 -xu user@gmail.com
> -xp PASSWD123 -l /tmp/log.sendemail -o tls=yes)
> Возникло подозрение, что проблема именно с Perl'ом.
> Пробовал так же System(/usr/pin/perl -e '/usr/local/bin/sendEmail -f username@gmail.com
> ...')
> SYSTEMSTATUS пишет APPERROR, а в логах sendEmail чисто.
> Asterik 11, FreeBSD9.1
>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>> sendEmail, написанная на Perl.
>> Проблема в том, что если запускаю с консоли с такими же параметрами,
>> то письмо нормально отправляется. А вот с Астериска не хочет.
>> SYSTEMSTATUS пишет APPERROR. В логах sendEmail
>> Feb 14 09:33:28 myserver sendEmail[63391]: ERROR => No TLS support! SendEmail
>> can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
> Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения
> и скрипт не может найти библиотеки.Еще иногда встречаются проблемы с правам на каталоги с библиотеками/модулями Perl.
>>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>>> sendEmail, написанная на Perl.
>>> Проблема в том, что если запускаю с консоли с такими же параметрами,
>>> то письмо нормально отправляется. А вот с Астериска не хочет.
>>> SYSTEMSTATUS пишет APPERROR. В логах sendEmail
>>> Feb 14 09:33:28 myserver sendEmail[63391]: ERROR => No TLS support! SendEmail
>>> can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
>> Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения
>> и скрипт не может найти библиотеки.
> Еще иногда встречаются проблемы с правам на каталоги с библиотеками/модулями Perl.Вы понимаете, я уже пробовал исключить perl-программы, заменив их бинарными. Установил msmtp в качестве SMTP TLS клиента, настроил на него mutt.Эфект тот же. С консоли работает, с Астера - нет.
Думал ранее что есть баг в реализации System() при работе с конвеерами. Проверил типа
/bin/ls -lo /bin | grep 'sh' > /tmp/test.txt все нормально работает.
Просто, если использовать такую конструкию типа
System(/usr/local/bin/mime-construct --output --subject subj --string body --atach blablabla ... | /usr/local/bin/msmtp -- test@ukr.net) то письмо приходит, но пустое, как будто левая часть конструкции не страбатывает. Потому и появилось подозрение на конвеер.А так не работает
exten => 555,1,System(/usr/local/bin/mutt -s "subject" test@ukr.net </tmp/test.txt)
>>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>>> sendEmail, написанная на Perl.
>>> Проблема в том, что если запускаю с консоли с такими же параметрами,
>>> то письмо нормально отправляется. А вот с Астериска не хочет.
>>> SYSTEMSTATUS пишет APPERROR. В логах sendEmail
>>> Feb 14 09:33:28 myserver sendEmail[63391]: ERROR => No TLS support! SendEmail
>>> can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
>> Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения
>> и скрипт не может найти библиотеки.
> Еще иногда встречаются проблемы с правам на каталоги с библиотеками/модулями Perl.Да, вы правы. Проблема именно в пермишенах. Разрешения на
/usr/local/lib/perl5drwxr-xr-x 4 root wheel - 512 7 гру 2011 perl5
А на каталоги внутри - drwxr-x---
Вот такая странность.Спасибо за подсказку.
>[оверквотинг удален]
>>> Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения
>>> и скрипт не может найти библиотеки.
>> Еще иногда встречаются проблемы с правам на каталоги с библиотеками/модулями Perl.
> Да, вы правы. Проблема именно в пермишенах. Разрешения на
> /usr/local/lib/perl5
> drwxr-xr-x 4 root wheel -
> 512 7 гру 2011 perl5
> А на каталоги внутри - drwxr-x---
> Вот такая странность.
> Спасибо за подсказку.Для меня это known issue.