Отправка почты с PBX Elastix через SMTP сервер

  • VOIP
Чтобы все было совсем «кошерно», мы настроим отправку почты сервером Asterisk через внешний почтовый сервер, нужно это для того чтобы получать уведомления о новых сообщениях поступивших на голосовую почту и других уведомлений сервера. 

У Elastix есть функционал для поднятия почтового сервера, но вероятность его использования крайне мала, зачастую есть внешние почтовые системы (yandex.ru,mail.ru,gmail.com) или внутренние типа Exchange, MDaemon и т.п., в общем затея с использованием сервера PBX в качестве почтового сервера, лично мне, кажется весьма сомнительной, по этой причине, мы настроим отправку почты, через внешний почтовый сервер, которые позволяет отправить через SMTP с авторизацией, кто будет принимать соединения уже не так важно…

Скажу честно, с postfix я провозился очень долго у него есть проблема которую я победить так и не смог, проблема в том что система начинает слать письма где в отправителе значится адрес вида asterisk@hostname.domain.tld на что почта yandex.ru реагирует вполне предсказуемо, а именно, нам выписывают «болтяру» и письмо не уходит т.к. система нас приняла за спамеров пытающихся подменить адрес отправителя. 
Ошибка возникает следующая:

May 30 10:50:41 test-srv postfix/qmgr[5070]: A3525370A73: from=<asterisk@test-srv.example.org>, size=819, nrcpt=1 (queue active)
May 30 10:50:41 test-srv postfix/smtp[5082]: A3525370A73: to=<username@DOMAIN.TLD>, relay=smtp.yandex.ru[213.180.193.38]:25, delay=0.15, delays=0.07/0/0.07/0, dsn=5.5.4, status=bounced (host smtp.yandex.ru[77.88.21.38] said: 553 5.7.1 Sender address rejected: not owned by auth user. (in reply to MAIL FROM command)


Система предлагает нам проверить адрес отправителя Sender address rejected: not owned by auth user., а там у нас asterisk@test-srv.example.org, в общем, во всем виноват postfix и теперь мы сделаем серверу «маленкий» downgrade, а именно оттяпаем почтовую систему т.к. она не нужна, то и держать работающий сервис, которым никто не пользуется, на сервере, не вижу никакого смысла.
Для начала удалим postfix
<code><span class="pln" style="color: #000000;">yum remove postfix</span></code>


Теперь установим ssmtp
<code><span class="pln" style="color: #000000;">yum install ssmtp</span></code>


Теперь настроим ssmtp
переименуем оригинальный конфиг
<code><span class="pln" style="color: #000000;">mv </span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">etc</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">conf </span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">etc</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">conf_orig</span></code>


Создадим новый конфигурационный файл:
<code><span class="pln" style="color: #000000;">nano </span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">etc</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">conf</span></code>


с содержимым: 
<code><span class="pln" style="color: #000000;">mailhub</span><span class="pun" style="color: #666600;">=</span><span class="pln" style="color: #000000;">smtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru</span><span class="pun" style="color: #666600;">:</span><span class="lit" style="color: #006666;">25</span><span class="pln" style="color: #000000;"><br />hostname</span><span class="pun" style="color: #666600;">=</span><span class="pln" style="color: #000000;">test</span><span class="pun" style="color: #666600;">-</span><span class="pln" style="color: #000000;">pbx</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">example</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">org<br />root</span><span class="pun" style="color: #666600;">=</span><span class="pln" style="color: #000000;">username@yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru<br /></span><span class="typ" style="color: #660066;">AuthUser</span><span class="pun" style="color: #666600;">=</span><span class="pln" style="color: #000000;">username<br /></span><span class="typ" style="color: #660066;">AuthPass</span><span class="pun" style="color: #666600;">=</span><span class="pln" style="color: #000000;">password<br /></span><span class="typ" style="color: #660066;">UseSTARTTLS</span><span class="pun" style="color: #666600;">=</span><span class="kwd" style="color: #000088;">no</span><span class="pln" style="color: #000000;"><br /></span><span class="typ" style="color: #660066;">UseTLS</span><span class="pun" style="color: #666600;">=</span><span class="kwd" style="color: #000088;">no</span><span class="pln" style="color: #000000;"><br /></span><span class="typ" style="color: #660066;">FromLineOverride</span><span class="pun" style="color: #666600;">=</span><span class="kwd" style="color: #000088;">no</span><span class="pln" style="color: #000000;"><br /></span></code>


Где 
Вместо username -указываем свой логин.
а вместо password- пароль, назначение других пунктов объяснять, думаю, не требуется.
Теперь нам требуется настроить права для локальных пользователей, кто может выполнять отправку писем:
<code><span class="pln" style="color: #000000;">nano </span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">etc</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">ssmtp</span><span class="pun" style="color: #666600;">/</span><span class="pln" style="color: #000000;">revaliases</span></code>


Добавляем туда:
<code><span class="pln" style="color: #000000;">root</span><span class="pun" style="color: #666600;">:</span><span class="pln" style="color: #000000;">username@yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru</span><span class="pun" style="color: #666600;">:</span><span class="pln" style="color: #000000;">smtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru</span><span class="pun" style="color: #666600;">:</span><span class="lit" style="color: #006666;">25</span><span class="pln" style="color: #000000;"><br />asterisk</span><span class="pun" style="color: #666600;">:</span><span class="pln" style="color: #000000;">username@yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru</span><span class="pun" style="color: #666600;">:</span><span class="pln" style="color: #000000;">smtp</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">yandex</span><span class="pun" style="color: #666600;">.</span><span class="pln" style="color: #000000;">ru</span><span class="pun" style="color: #666600;">:</span><span class="lit" style="color: #006666;">25</span></code>


Сохраняем изменения и выходим.
После удаления postfix, из панели управления исчезает вкладка email, ну и отлично.

 
А в панели Proceses status, почтовый сервис помечается как не уставленный:















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



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


Настраиваем уведомления о появлении обновлений системы.
Тут тоже все просто идем во вкладку PBX там строка General Settings
как указано на скриншоте:



данную страницу проматываем в низ и в поле указываем email администратора этого сервера или группу рассылки








Сохраняем изменения и применяем их, все работает отлично.

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

Нет комментариев