FreeSWITCH Fax-to-mail(факс на почту) с помощью ssmtp и mutt.
Первым делом установим ssmtp и mutt
yum install ssmtp mutt
Конфигурационный файл ssmtp находятся в папке /etc/ssmtp/ssmtp.conf
nano /etc/ssmtp/ssmtp.conf
Для отправки сообщений с почты yandex необходимо настроить программу:
root=ваш_логин@yandex.ru
mailhub=smtp.yandex.ru:25
RewriteDomain=yandex.ru
Hostname=smtp.yandex.ru:25
UseTLS=YES
Расскоментируем строчку TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
UseSTARTTLS=YES
AuthUser=ваш_логин@yandex.ru
AuthPass=пароль
FromLineOverride=YES
Далее нужно добавить запись в файл /etc/ssmtp/revaliases
root:ваш_логин@yandex.ru:smtp.yandex.com:25
На этом настройка закончена, попробуем отправить тестовое письмо на свой почтовый ящик:
echo "Проверка" | ssmtp -v -s hello vp@voipnotes.ru
Если все правильно настроено, то вам (в нашем случае vp@voipnotes.ru) на почтовый ящик должно прийти письмо.
Теперь настроим и проверим работу mutt
Чтобы mutt слал почту через ssmtp, в домашнем каталоге пользователя, от имени которого мы собираемся слать отчеты, нужно подправить файл .muttrc
set sendmail="/sbin/ssmtp" # путь к ssmtp
set realname="Тестовый Агент" # имя отправителя
set from="ваш_логин@yandex.ru" # e-mail отправителя
Проверяем работу mutt:
echo "" | mutt -s Hello vp@voipnotes.ru
Если все правильно настроено, то вам (в нашем случае vp@voipnotes.ru) на почтовый ящик должно прийти письмо.
Теперь переходим непосредственно к настройке FreeSWITCH.
Первым делом в диалплане (dialplan) FreeSWITCH добавим маршрут для факса следующего вида:
<include><extension name="fax">
<condition field="destination_number" expression="^(555)$">
<action application="answer"/>
<action application="set" data="api_hangup_hook=system /usr/src/scripts/emailfax.sh $1 /tmp/${uuid}.rxfax.tiff"/>
<action application="set" data="fax_enable_t38_request=true"/>
<action application="set" data="fax_enable_t38=true"/>
<action application="rxfax" data="/tmp/${uuid}.rxfax.tiff"/>
<action application="hangup"/>
</condition>
</extension>
</include>
После сохранения заходим в консоль FreeSWITCH и делаем reloadxml
Теперь нам нужно создать скрипт emailfax.sh в каталоге /usr/src/scripts/ (каталог и названия скрипта можно сделать другими, главное, не забыть поменять путь и название в dialplan FreeSWITCH)
cd /usr/src/
mkdir scripts
cd /scripts
nano emailfax.sh
Сам скрипт
#!/bin/bash
# fax@voipnotes.ru – почтовый ящик, куда будет приходить письмо с факсом
mutt -n -f /dev/null -F /usr/src/scripts/muttrc -s "Пришел факс на номер $1" fax@voipnotes.ru -a $2 < /dev/null
Даем права на исполнение скрипта emailfax.sh.
Можно воспользоваться уже сделанным файлом muttrc в каталоге пользователя с помощью которого мы тестировали работу mutt , но мы решили сделать отдельный файл. В каталоге /usr/src/scripts/ (путь описан в предыдущем скрипте) создать файл muttrc следующего содержания:
set sendmail="/sbin/ssmtp"
set realname="Виртуальный факс"
set from=ваш_логин@yandex.ru
Теперь, если вам кто-то захочет отправить факс, то переводите его на добавочный номер 555 и ожидаете заветного письма с вложением.
На этом наша настройка завершена.
Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.