Всем привет.
Знакомый попросил установить и настроить у них FreePBX, т.к. захотели в офисе использовать свою АТС, а не арендовать непонятно у кого и за деньги.
В итоге решили попробовать FreePBX последней версии, т.к. ранее у меня был опыт ввода в эксплуатацию такой системы.
Но решили не использовать платные модули, тем более что сейчас купить что-то большая проблема, то максимально настроить самое просто своими силами. Заодно и вспомнить как это сделать, ну и записать сразу.
И так…
Подразумевается, что FreePBX установлен, выполнено обновление ОС и модулей.
К сожалению, почта хостится на мерзком mail.ru, т.ч. предварительно надо создать пароль приложения. Но эта г-контора требуется указать свой номер телефона, т.ч. лучше разместить у себя почту или на менее мерзком яндексе, хотя тоже то еще д…о.
Подключаемся к серверу по ssh.
Установка пакета:
1 | yum install ssmtp |
После этого переименуем оригинальный sendmail:
1 | mv /usr/sbin/sendmail{,.orig} |
Теперь создадим символическую ссылку (symkink):
1 | ln -s /usr/sbin/ssmtp /usr/sbin/sendmail |
Отредактируем файл /etc/ssmtp/ssmtp.conf
1 | nano /etc/ssmtp/ssmtp.conf |
Там есть параметры по умолчанию. Можно или изменить имеющиеся и добавить новые, либо всё удалить и привести к такому виду:
1 2 3 4 5 6 7 8 9 10 | mailhub=smtp.mail.ru:465 AuthUser=mymail@my.domain AuthPass=app_password AuthMethod=LOGIN rewriteDomain=my.domain hostname=localhost UseTLS=Yes TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt FromLineOverride=Yes #Debug=Yes |
где:
- mailhub= — адрес почтового сервера;
- AuthUser= — имя почтового ящика (он же логин);
- AuthPass= — пароль приложения. Создается в профиле, но
сраныйmail.ru хочет что бы в профиле был указан номер телефона; - AuthMethod=LOGIN — тип авторизации;
- rewriteDomain= — перезапись на ваш домен;
- hostname=localhost
- UseTLS=Yes — использовать TLS при авторизации;
- TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt — сертификат;
- FromLineOverride=Yes — разрешает устанавливать пользователю свой адрес в поле «От:»;
- #Debug=Yes — можно включить режим дебага.
Далее, редактируем /etc/ssmtp/revaliases
1 | nano /etc/ssmtp/revaliases |
здесь указываем локального пользователя и к нему добавляем почту и через что отправлять:
1 | root:mymail@my.domain:smtp.mail.ru:465 |
После этого выполнить отправку тестового сообщения:
1 | echo "TEST SSMTP" | mail -v -s "SSMT FREEPBX" testmail@yandex1111.ru |
- -v — Для вывода подробной информации при отправке письма;
- -s — тема сообщения.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [<-] 220 smtp53.i.mail.ru ESMTP ready (Looking for Mail for your domain? Visit https://biz.mail.ru) [->] EHLO localhost [<-] 250 AUTH PLAIN LOGIN XOAUTH2 [->] AUTH LOGIN [<-] 334 VXNlcm5hbWU6 [->] Y2xvdWRAemV1cy5jb21wYW55 [<-] 334 UGFzc3dvcmQ6 [<-] 235 Authentication succeeded [->] MAIL FROM:<mymail@my.domain> [<-] 250 OK [->] RCPT TO:<testmail@yandex111.ru> [<-] 250 Accepted [->] DATA [<-] 354 Enter message, ending with "." on a line by itself [->] Received: by localhost (sSMTP sendmail emulation); Fri, 19 Apr 2024 12:55:24 +0300 [->] From: "root" <mymail@my.domain> [->] Date: Fri, 19 Apr 2024 12:55:24 +0300 [->] To: testmail@yandex111.ru [->] Subject: SSMT FREEPBX [->] User-Agent: Heirloom mailx 12.5 7/5/10 [->] MIME-Version: 1.0 [->] Content-Type: text/plain; charset=us-ascii [->] Content-Transfer-Encoding: 7bit [->] [->] TEST SSMTP [->] . [<-] 250 OK id=1rxkxo-00000006pxt-2m5b [->] QUIT [<-] 221 smtp53.i.mail.ru closing connection |
Ну и проверяем почтовый ящик.
Так же логи можно посмотреть вот тут: /var/log/maillog
Но вот то, что приходит от имени ‘root’ мне не нравится. Как это поменять средствами ssmtp я не нашел. Написано, что берется имя из /etc/passwd. Для изменения имени используем команду:
1 | chfn -f 'YOUR NAME HERE' root |
Вывод должен быть примерно таким
И снова выполним отправку тестового письма (команда выше). Посмотрим что в почте:
If you found an error, highlight it and press Shift + Enter or to inform us.