Настройка почты через MSMTP
Simple Mail Transfer Protocol (SMTP) — простой протокол связи, применяемый с целью пересылки электронных писем с сервера отправителя на сервер получателя. Этот протокол не рассчитан на обработку входящих сообщений, его используют для отправки и последующей доставки писем адресату.
При использовании виртуальной машины 1С-Битрикс на ней уже установлено простое и эффективное средство для отправки почтовых сообщений с сайта - smtp-клиент
под названием msmtp
.
Настройка виртуальной машины
Для настройки необходимо подключиться по SSH под пользователем root, в меню Bitrix-окружения выбрать:
6. Manage sites in the pool
Мы перешли в меню настроек сайта и переходим:
4. Change email settings on site
Далее вводим поочередно следующие данные.
По умолчанию default, если сайт один. Если на виртуальной машине несколько доменов, то прописывается нужный домен из списка выше в меню:
Enter site name (default) or 0 to exit: default
Указывается почтовый ящик для отправки писем:
Enter From email address (ex. info@domain.ru): info@domain.ru
Указывается SMTP-сервер для отправки писем, в качестве примера указан сервер Яндекс:
Enter server address or DNS (127.0.0.1): smtp.yandex.ru
Указывается порт для соединения с SMTP-сервером, в нашем случае используется tls, порт необходимо указывать 587:
Enter server port (25): 587
Вопрос об использовании SMTP аутентификации - соглашаемся Y
:
Do you want to use SMTP authentication on smtp.yandex.ru:587? (N|y) Y
Указываете логин, используемый для авторизации, обычно логином выступает почтовый ящик:
info@domain.ru
Вводите пароль от данного почтового ящика:
Enter password: 123456
Метод аутентификации выбираете auto
:
Enter SMTP authentication method (default: auto): auto
Соглашаетесь с использованием TLS вводим Y
:
Do you want to enable TLS for smtp.yandex.ru:587 (n|Y): Y
В результате будет создан файл /home/bitrix/.msmtprc
, в котором будут указаны внесённые настройки:
account default
logfile /home/bitrix/msmtp_mos-avtovykup.ru.log
host smtp.yandex.ru
port 587
from info@domain.ru
keepbcc on
auth on
user info@domain.ru
password eqbzsayrysajbern
tls on
tls_starttls on
tls_certcheck off
Настройка почты практически завершена, файл настроек почты располагается в /home/bitrix
, а при тестовой отправке почтового сообщения настройки подключения берутся из директории /root
, необходимо создать симлинк:
ln /home/bitrix/.msmtprc /root/.msmtprc
Задать необходимые права на файл настроек:
chmod 0600 /home/bitrix/.msmtprc
Проверить корректность настройки можно, введя команду в консоли:
php -r "mail('test@email.com', 'Test', 'Test');"
Лучше всего для проверки результата, параллельно настройке открываем сайт, переходим в Инструменты -> Командная PHP строка
и выполняем скрипт:
if(mail("test@email.com", "TEST SUBJECT", "TEST BODY"))
echo "Почтовая система работает!";
else
echo "Неудача, почтовая система не работает, попробуйте еще!";
Если письмо не приходит, смотрим в логе msmtp, который расположен в /home/bitrix/msmtp_mos-avtovykup.ru.log
.
Настройка SMTP сервера Яндекс
Для того, чтобы сгенерировать требуемый пароль, первым делом, нужно перейти в настройки учетной записи Яндекса:
Далее переходим в раздел Пароли и авторизация, после чего внизу экрана кликаем на Включить пароли приложений либо Пароли приложений, если вы уже получали пароль ранее:
После чего, в открывшемся окне, нам нужно нажать на кнопку Включить пароли приложений:
Следующим шагом, нам нужно подтвердить действие и нажать кнопку на Создать новый пароль:
Далее выбираем нужный тип приложения, в нашем случае: Почта (IMAP, POP3, SMTP):
Для быстрого ориентирования среди паролей - придумываем название, это может быть особенно актуально, когда используется несколько паролей. После того, как мы задали название, жмем кнопку Создать:
В результате, мы получим сгенерированный пароль, который будем использовать для доступа к почте:
Данный пароль необходимо сохранить, именно он будет использоваться для авторизации учетной записи электронной почты Янедекс. Пароль отображается всего один раз, поэтому если вы вдруг по какой-то причине не сохранили его или сохранили неверно, то единственным вариантом выхода из данной ситуации будет - удалить и создать новый пароль.
В некоторых случаях, даже при правильности выполнении всех действий, программа может по прежнему выдавать ошибку. Это происходит по причине того, что в вашей почте Яндекс вообще отключена возможность использования сторонних приложений для работы с почтой. Чтобы устранить данную проблему, нужно перейти в настройки почты (значок шестеренки в правом верхнем углу), после чего в открывшемся окне выбрать раздел Безопасность:
Далее нам нужно в новом окне выбрать пункт Почтовые программы и в подразделе Разрешить доступ к почтовому ящику с помощью почтовых клиентов установить флаги: