URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94370
[ Назад ]

Исходное сообщение
"Asterisk System()"

Отправлено Alex , 14-Фев-13 11:45 
Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
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)

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


Содержание

Сообщения в этом обсуждении
"Asterisk System()"
Отправлено daloman , 14-Фев-13 12:41 
> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
> 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


"Asterisk System()"
Отправлено PavelR , 14-Фев-13 18:40 
>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>> 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.


"Asterisk System()"
Отправлено Alex , 14-Фев-13 23:17 
>>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>>> 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)



"Asterisk System()"
Отправлено Alex , 15-Фев-13 15:50 
>>> Пытаюсь настроить отправку факса на почтовый ящик. В качестве вызываемой программы служит
>>> 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/perl5

drwxr-xr-x   4 root  wheel  -      512  7 гру  2011 perl5

А на каталоги внутри -  drwxr-x---
Вот такая странность.

Спасибо за подсказку.


"Asterisk System()"
Отправлено PavelR , 16-Фев-13 23:06 
>[оверквотинг удален]
>>> Вероятно, для пользователя под которым запущен Asterisk не установлены переменные окружения
>>> и скрипт не может найти библиотеки.
>> Еще иногда встречаются проблемы с правам на каталоги с библиотеками/модулями Perl.
> Да, вы правы. Проблема именно в пермишенах. Разрешения на
> /usr/local/lib/perl5
> drwxr-xr-x   4 root  wheel  -    
>   512  7 гру  2011 perl5
> А на каталоги внутри -  drwxr-x---
> Вот такая странность.
> Спасибо за подсказку.

Для меня это known issue.