Хостинг
VDS
Аренда серверов
Домены
Почта
SSL
Хранилище
Сайты
Обзоры
Регламенты
AI Studio
Kubernetes
Архив
Отправка писем по SMTP с помощью ssmtp

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

Данная статья предназначена для сайтов, размещаемых в старом окружении, где есть возможность создать сайты только на php 5.2 - 7.3. Отправку писем сайтов, размещаемых в современном окружении, можно найти по ссылке

В рамках борьбы со спамом многие хостинг-провайдеры периодически усложняют алгоритмы антиспам-фильтров и повышают требования к входящей электронной почте. Такие настройки, как 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 посредством почтового клиента ssmtp.

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

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

2) Подключитесь к серверу хостинга по SSH (инструкция) и перейдите в каталог bin в вашем контейнере.

cd ~/bin

3) Скачайте утилиту ssmtp, которая будет выполнять отправку писем c сайта и дайте ей права на исполнение. Для этого выполните команды:

curl -o ssmtp https://noc.netangels.ru/static-builds/ssmtp-static
chmod +x ssmtp 

4) Перейдите в папку сайта

cd ~/sitename.ru

и создайте файл ssmtp.conf

nano ssmtp.conf

5) Вставьте блок с настройками

# настройка ssmtp
mailhub=mail.netangels.ru:587

AuthUser=website@sitename.ru
AuthPass=XegohCiaNgiesie9
AuthMethod=LOGIN

UseSTARTTLS=NO
UseTLS=YES
TLS_CA_File=/etc/ssl/certs/ca-certificates.crt

FromLineOverride=YES

Вместо website@sitename.ru укажите свой почтовый ящик и пароль от него.

6) Сохраните файл комбинацией клавиш ctrl+s.

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

sendmail_path = "~/bin/ssmtp -C ~/sitename.ru/ssmtp.conf  -t"

stat_php_ssmtp2.png

Вместо sitename.ru пропишите имя вашего сайта.

Для проверки отправки почты подключитесь по ssh, перейдите в папку сайта, для которого выполнялись настройки, и введите команду

php -r 'mail("my@mailbox.ru", "Subject", "test from ssmtp", "From: from@mailbox.ru\r\n");'

Вместо my@mailbox.ru укажите почтовый ящик, на который нужно отправить письмо.
Вместо from@mailbox.ru укажите почтовый ящик, через который вы хотите отправлять письма. Затем проверьте ящик. Если письмо дошло, значит настройки выполнены успешно. Если что-то настроено не так, то вы увидите сообщение об ошибке сразу после выполнения команды.

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

Хостинг
Хостинг
Хостинг
Создавайте неограниченное количество сайтов в изолированных контейнерах
Заказать

Нам доверяют тысячи компаний и разработчиков

22 года
Предоставляем услуги профессионального хостинга
35 000+
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime наших серверов хостинга
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
Callibri
Крылья
Tele-Club
Linline
Премьер зал
УГМК-Здоровье
Магнум
Алатырь
Туристер
ВК49865