SMTP Mail.ru: адрес сервера, порты и лимиты отправки

SMTP-сервер Mail.ru — smtp.mail.ru, порт 465 с шифрованием SSL/TLS. Логином служит полный адрес ящика, паролем — специальный пароль для внешнего приложения: с обычным паролем от почты войти не получится. Одно письмо можно отправить не больше чем 30 получателям, а на число писем в час действует лимит, точное значение которого Mail.ru не публикует.
Те же настройки подходят для ящиков на bk.ru, inbox.ru, list.ru и internet.ru. Ниже — пошаговая настройка, проверка соединения, разбор ошибок, которые чаще всего приходят от smtp.mail.ru, и признаки того, что почте сайта пора уходить с личного ящика.
Параметры SMTP Mail.ru
| Параметр | Значение |
|---|---|
| SMTP host (сервер исходящей почты) | smtp.mail.ru |
| Порт | 465 |
| Шифрование | SSL/TLS |
| Авторизация | обязательна |
| Логин | полный адрес: shop@mail.ru, shop@bk.ru и т. д. |
| Пароль | пароль для внешнего приложения |
| IMAP | imap.mail.ru, порт 993, SSL/TLS |
| POP3 | pop.mail.ru, порт 995, SSL/TLS |
Справка Mail.ru указывает для SMTP только порт 465. В базе настроек Mozilla Thunderbird для smtp.mail.ru дополнительно записан порт 587 со STARTTLS. Он пригодится, если хостинг закрывает 465, но в официальной справке его нет, поэтому основным считайте 465.
Шифрование выбирайте под порт. Порт 465 — это TLS с первого байта: в PHPMailer режим smtps (ENCRYPTION_SMTPS), в Django EMAIL_USE_SSL = True, в 1С флажок SSL. Порт 587 — STARTTLS: tls в PHPMailer и EMAIL_USE_TLS = True в Django. Порт 465 с режимом STARTTLS не выдаёт понятной ошибки, соединение просто висит до таймаута.
Пароль для внешнего приложения
Обычный пароль от ящика Mail.ru для SMTP не подходит. Справка Mail.ru называет нужный «специальным паролем для входа в почтовую программу», а в настройках он лежит в разделе «Пароли для внешних приложений».
Создать его можно, только если к почте привязан номер телефона. Проверьте это в разделе «Контакты и адреса», затем:
- Откройте почту, в левом нижнем углу перейдите в «Настройки» → «Все настройки» → «Безопасность» → «Пароли для внешних приложений».
- Нажмите «Создать».
- Дайте паролю название по имени сайта или программы. Оно понадобится, когда пароль нужно будет удалить.
- Нажмите «Продолжить» и выберите тип протокола.
- Нажмите «Продолжить» и скопируйте пароль.
Тип протокола ограничивает, к чему получит доступ программа. Для почтового клиента справка советует «Полный доступ к Почте», для принтера или сканера — «Только отправка писем в Почте». Сайту, CMS или 1С, которые только отправляют уведомления, тоже достаточно варианта «Только отправка писем»: украденный из конфига пароль тогда не даст прочитать переписку.
Пароль нигде не хранится и повторно не показывается. Если вы его потеряли, удалите старый и создайте новый.
Настройка SMTP Mail.ru на сайте
Так выглядит отправка через PHPMailer, на котором построена почта многих CMS:
use PHPMailer\PHPMailer\PHPMailer;
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.mail.ru';
$mail->Port = 465;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->SMTPAuth = true;
$mail->Username = 'shop@mail.ru';
$mail->Password = 'ПАРОЛЬ_ДЛЯ_ВНЕШНЕГО_ПРИЛОЖЕНИЯ';
$mail->CharSet = 'UTF-8';
$mail->setFrom('shop@mail.ru', 'Магазин');
$mail->addAddress('client@example.ru');
$mail->Subject = 'Заказ №4417 принят';
$mail->Body = 'Заказ принят, доставка завтра до 18:00.';
$mail->send();
Адрес в setFrom должен совпадать с Username. Mail.ru не отправляет письма от имени других адресов, и на попытку отправить от noreply@site.ru при логине shop@mail.ru ответит ошибкой 550 not local sender over smtp.
В Django те же параметры задаются в settings.py:
EMAIL_HOST = "smtp.mail.ru"
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_HOST_USER = "shop@mail.ru"
EMAIL_HOST_PASSWORD = "ПАРОЛЬ_ДЛЯ_ВНЕШНЕГО_ПРИЛОЖЕНИЯ"
DEFAULT_FROM_EMAIL = "Магазин <shop@mail.ru>"
EMAIL_USE_SSL и EMAIL_USE_TLS взаимоисключающие: для порта 465 нужен первый, второй оставьте выключенным.
В CMS те же значения вводятся в поля плагина или модуля почты: хост, порт, шифрование, логин и пароль. Для 1С порядок полей разобран в инструкции по настройке 1С, для 1С-Битрикс — в инструкции для Битрикса. Там описано подключение к FMailer, но поля и типичные ошибки те же.
Как проверить соединение, если SMTP Mail.ru не отвечает
Если SMTP Mail.ru не отвечает, причина почти всегда одна из трёх: порт закрыт у хостинга, шифрование не совпадает с портом или указан не тот хост. Сначала проверьте сеть:
openssl s_client -connect smtp.mail.ru:465 -crlf -quiet
Для запасного порта 587 команда другая, с переходом на STARTTLS:
openssl s_client -starttls smtp -connect smtp.mail.ru:587 -crlf -quiet
Если пришло приветствие с кодом 220, сервер доступен и TLS работает: дальше ищите проблему в логине или пароле. Если соединение не устанавливается, исходящий SMTP закрыт у хостинга: многие VPS и виртуальные хостинги блокируют исходящие SMTP-порты, и решается это только заявкой хостингу или сменой способа отправки. Работает ли сам сервер, покажет проверка SMTP-сервера: она подключается из интернета, поэтому блокировку на вашем хостинге проверяйте командой выше.
Ещё две частые причины таймаута:
- Порт 25. В справке Mail.ru для отправки он не указан, а у многих хостингов исходящие соединения на него закрыты.
- Порт 465 в режиме
tls. Клиент ждёт приветствия открытым текстом, а сервер ждёт TLS-рукопожатия, и оба молчат.
Лимиты отправки Mail.ru
Справка Mail.ru даёт одну точную цифру: одно письмо можно отправить одновременно 30 получателям. В это число входят адреса из всех полей.
Ограничение по времени Mail.ru описывает без числа: чтобы защитить пользователей от спама, действует лимит на количество отправленных писем в час. При превышении письма возвращаются с ошибкой Ratelimit exceeded for mailbox. Суточного лимита справка не называет, а цифры «300 в сутки» и «500 в час» из форумов и сторонних обзоров официально не подтверждены. Закладываться на них нельзя: лимит зависит от репутации ящика и меняется без предупреждения.
Для рассылок Mail.ru прямо советует другой путь: зарегистрировать домен, добавить его в Postmaster Mail.ru и отправлять с него по правилам рассылок Почты Mail. Личный ящик для массовой отправки не предназначен.
Значения в этом разделе взяты из справки Mail.ru на момент публикации. Перед тем как на них опираться, сверьтесь с help.mail.ru.
Частые ошибки SMTP Mail.ru
Neobhodim parol prilozheniya, application password is required. Вход выполняется обычным паролем от ящика. Создайте пароль для внешнего приложения и войдите с ним.
Ответ 535 на команду авторизации. Сервер отклонил логин или пароль: короткий логин вместо полного адреса, обычный пароль вместо пароля приложения, лишние пробелы при копировании. Разбор кода — на странице 535 authentication failed.
503 Administrative prohibition – authorization required. Программа отправляет без авторизации. Справка Mail.ru советует указать в настройках, что SMTP-сервер требует авторизации.
550 not local sender over smtp. Адрес отправителя не совпадает с ящиком, под которым прошла авторизация. Обычная ситуация для CMS, которая ставит в From адрес вида noreply@site.ru. Укажите отправителем тот же адрес, что и в логине.
Ratelimit exceeded for mailbox. Превышен часовой лимит. Справка предупреждает, что ящик могли взломать, если вы не отправляли много писем, и советует сменить пароль и включить двухфакторную аутентификацию. Для сайта это сигнал, что объём перерос личный ящик.
Message sending for this account is disabled или «Отправка писем заблокирована». Mail.ru заблокировал отправку с ящика. Справка рекомендует сменить пароль и включить двухфакторную аутентификацию.
550 spam message rejected. Фильтр Mail.ru отклонил письмо как спам. Получатель его не увидит: это отказ на этапе SMTP, а не попадание в папку «Спам». Причины и порядок действий — на странице Mail.ru: spam message rejected.
Как проверить, что письмо дошло до Mail.ru
Ответ 250 от smtp.mail.ru означает только, что Mail.ru принял письмо к отправке. Дошло ли оно до получателя и как прошло проверки, видно в самом доставленном письме. Попросите получателя переслать исходный текст письма или отправьте тестовое себе на другой ящик, откройте исходный текст письма (в Gmail — «Показать оригинал») и вставьте заголовки в анализ заголовков. Он покажет цепочку Received с задержкой на каждом переходе и вердикт принимающего сервера по SPF, DKIM и DMARC.
Если письма уходят уже с вашего домена, подключите его к Postmaster Mail.ru (postmaster.mail.ru). Это бесплатный кабинет, где по домену видны репутация, доля жалоб и доставка в ящики Mail.ru, bk.ru, inbox.ru и list.ru. Для подключения нужно подтвердить владение доменом DNS-записью. Адреса на mail.ru туда добавить нельзя: кабинет работает только с доменами, которыми вы управляете.
Когда сайту пора уходить с ящика Mail.ru
Ящик Mail.ru справляется с формой обратной связи, принтером и сканером. Для приложения, которое шлёт письма клиентам, у него четыре ограничения.
Лимит без числа. Нельзя спланировать отправку, если потолок неизвестен. Магазин узнаёт о нём в день распродажи, когда письма с подтверждениями возвращаются с Ratelimit exceeded.
Отправитель равен ящику. Письмо уходит только от адреса, под которым вы авторизовались, и это адрес на mail.ru, а не на вашем домене. Клиент видит в поле «От кого» бесплатный ящик.
Отправку блокируют целиком. Если Mail.ru решит, что ящик рассылает спам, остановится и почта сайта, и переписка человека, который этим ящиком пользуется.
Нет обратной связи. SMTP Mail.ru принимает письмо и больше ничего не сообщает приложению. Отказы приходят в ящик обычными письмами, и сайт о них не узнаёт.
Отправлять с адреса @mail.ru через другой сервис тоже нельзя: у mail.ru опубликована DMARC-политика p=reject, которая запрещает чужим серверам отправлять от его имени. Такие письма получатель либо не увидит, либо увидит с предупреждением. Решение — свой домен и транзакционный релей.
Как это устроено в FMailer
FMailer принимает почту из приложения на smtp.fmailer.ru: порты 587 и 8587 со STARTTLS, 465 и 8465 с SSL/TLS, логин и пароль токена домена. Дублирующие 8587 и 8465 нужны как раз на хостингах, которые закрывают стандартные порты. Параметры и примеры — в документации по SMTP.
Письма уходят с вашего домена. Вы делегируете поддомен через NS-записи, например mail.example.ru, и FMailer сам публикует DKIM, SPF и DMARC. MX и почта сотрудников основного домена не меняются. Порядок действий — в разделе «Настройка NS-записей».
Объём растёт с прогревом: новый домен начинает с 200 писем в сутки, а потолок удваивается от фактически доставленного объёма. Письма сверх потолка не отклоняются, а встают в очередь. Подробнее — в разделе о лимитах отправки. В журнале по каждому письму виден настоящий ответ принимающего сервера, включая отказы Mail.ru.
О судьбе письма приложение узнаёт без разбора ящика: FMailer отправляет вебхуки о доставке, отложенной доставке и постоянном отказе, и адрес, который вернул окончательный отказ, можно сразу исключить из отправки. Настройка описана в разделе о вебхуках.
Частые вопросы
Какой SMTP-сервер у Mail.ru?
smtp.mail.ru, порт 465, шифрование SSL/TLS. Тот же сервер обслуживает ящики на bk.ru, inbox.ru, list.ru и internet.ru.
Какой порт SMTP у Mail.ru — 465 или 587?
Справка Mail.ru указывает только 465 с SSL/TLS. Порт 587 со STARTTLS записан в базе настроек Thunderbird, но в справке Mail.ru не описан, поэтому основным считайте 465.
Где взять пароль для SMTP Mail.ru?
В почте: «Настройки» → «Все настройки» → «Безопасность» → «Пароли для внешних приложений» → «Создать». К ящику должен быть привязан телефон, а сам пароль показывается один раз.
Сколько писем можно отправить через SMTP Mail.ru?
Не больше 30 получателей в одном письме. Часовой лимит существует, но Mail.ru не публикует его значение; при превышении приходит Ratelimit exceeded for mailbox.
Почему SMTP Mail.ru отвечает «not local sender over smtp»?
Адрес в поле «От кого» не совпадает с ящиком, под которым вы авторизовались. Mail.ru отправляет письма только от имени авторизованного ящика.
Можно ли через SMTP Mail.ru делать рассылки?
Нет. Личные ящики Mail.ru не предназначены для массовой отправки: Mail.ru советует рассылать со своего домена, добавленного в Postmaster Mail.ru.
Итог
Для SMTP Mail.ru нужны сервер smtp.mail.ru, порт 465 с SSL/TLS, полный адрес ящика в качестве логина и пароль для внешнего приложения. Адрес отправителя должен совпадать с логином. На письмо — не больше 30 получателей, а часовой лимит Mail.ru не раскрывает.
Для формы на сайте или принтера этого хватает. Когда письма отправляет приложение и важно, дошли ли они, лимит без числа и отправка с бесплатного адреса становятся проблемой.
Попробовать FMailer
Подключите поддомен на fmailer.ru: FMailer опубликует DKIM, SPF и DMARC, а в приложении достаточно заменить smtp.mail.ru на smtp.fmailer.ru и пароль приложения на токен домена. Письма уйдут с вашего домена, а ответ Mail.ru на каждое из них будет виден в журнале.