Отправка писем по SMTP с помощью msmtp на хостинге

Отправка писем по SMTP с помощью msmtp

В рамках борьбы со спамом многие хостинг-провайдеры периодически усложняют алгоритмы антиспам-фильтров и повышают требования к входящей электронной почте. Такие настройки, как SPF (Sender Policy Framework) и DKIM (DomainKeys Identified Mail), становятся обязательными для корректной работы электронной почты, и многие провайдеры отказываются принимать входящие письма, если они не выполнены.

Задача с SPF легко решается посредством добавления TXT-записи в DNS зону домена:

.   TXT   v=spf1 a include:netangels.ru ~all

Если у вас уже имеется SPF запись, просто отредактируйте ее и добавьте блок include:netangels.ru.

Как работать с DNS, рассказывается в этой статье.

Однако, задача с DKIM уже не такая простая. В связи с тем, что на сервере хостинга у вас нет административных прав, вы не можете добавить цифровую подпись DKIM к отправляемым письмам. Но этот вопрос можно решить, переключив в настройках сайта отправку писем через SMTP сервер mail.netangels.ru, на котором DKIM подключается автоматически при создании почтового сервера. В нашей статье по настройке отправки почты с сайта описано, как это реализуется в некоторых CMS.
Но что делать администраторам, чьи сайты на PHP не имеют такой функционал? Конечно, можно обратиться к web-разработчикам и заказать реализацию подобного модуля. Но такой вариант потребует дополнительных финансовых затрат и времени. Однако, есть способ проще и не требующий никаких затрат!

Итак, в данной статье мы расскажем, как вы можете настроить отправку писем с сайта по SMTP посредством почтового клиента msmtp.

1) В личном кабинете в разделе “Почта” создайте почтовый ящик для отправки писем, например, website@sitename.ru. Подробная инструкция по созданию почтового ящика здесь.

2024-03-21_21-08-17.png

2) Перейдите в раздел “Хостинг”, выберите нужный контейнер, сайт и на вкладке “Файлы” откройте “Файловый менеджер”.

2024-03-25_20-24-26.png

3) В главном меню выберите “Файл” / “Создать” / “Новый файл”. Используйте имя .msmtprc

Screenshot_3.png

4) После создания файла кликните по нему правой кнопкой мыши и выберите “Изменить атрибуты”. Установите кодовое значение 600 (Чтение и Запись для владельца).

2024-03-21_21-23-57.png

5) Теперь по двойному клику левой кнопкой мыши откройте файл на редактирование и вставьте в него блок с настройками

# настройка msmtp
account cXXXXX
auth            on
tls             on
tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile         ~/sitename.ru/log/msmtp.log
host            mail.netangels.ru
port            587
from            website@sitename.ru
user            website@sitename.ru
password        XegohCiaNgiesie9

Обратите внимание, здесь cXXXXX - логин вашего контейнера хостинга. Так же вместо website@sitename.ru укажите свой почтовый ящик и пароль от него.

2024-03-25_20-40-30.png

6) Сохраните файл. Файловый менеджер можете тоже закрыть, он больше вам не потребуется.

7) В личном кабинете перейдите в панель управления сайтом, на вкладку PHP и добавьте настройку:

sendmail_path = "/usr/bin/msmtp -C ~/sitename.ru/.msmtprc -t -a cXXXXX"

2024-03-25_20-27-16.png

Вместо sitename.ru пропишите имя вашего сайта, а вместоcXXXXX укажите логин контейнера, который вы использовали в конфигурационном файле .msmtprc.

На этом всё, настройка завершена. Теперь письма с вашего сайта будут отправляться по SMTP через почтовый сервер mail.netangels.ru с помощью почтового клиента msmtp. Логи отправки будут храниться в каталоге ~/sitename.ru/log.

Хостинг
Хостинг
Хостинг
Создавайте неограниченное количество сайтов в изолированных контейнерах
С 2003 года
Надежность.
Нам доверяют десятки тысяч компаний и разработчиков
20 лет
Предоставляем услуги профессионального хостинга
35 000
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime
наших серверов хостинга
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
ВК49865