N1 Nex1on

Почта на сайте Nex1on: как настроить отправку и проверить, почему письма не приходят

Три способа отправки, настройка SMTP, проверка одним нажатием, журнал «Отправленные письма» с причиной отказа и что сделать, чтобы письма не попадали в спам.

«Письма не приходят» — самая частая беда владельца нового сайта. Сброс пароля, подтверждение адреса, вход в два шага, уведомления о заявках, рассылка: всё это письма. Пока почта не настроена, часть сайта молча не работает. Ниже — как настроить отправку, как проверить её одним нажатием и как по журналу понять, на чём оборвался разговор с почтовым сервером.

Что держится на письмах #

  • сброс пароля и подтверждение адреса почты;
  • вход в два шага и письма о входе из нового браузера;
  • приглашения людей на сайт;
  • уведомления владельцу: обращения, заявки, сообщения о неполадках на сайте;
  • рассылка подписчикам.
Без работающей почты восстановить пароль нечем: письмо со ссылкой отправить некому. Поэтому настроить её стоит до запуска, а не после первой жалобы.

Три способа отправки #

Откройте «Настройки → Почта». Первое поле, «Способ отправки», выбирает один из трёх вариантов:
  • Не отправлять, только в журнал. Письма складываются файлами в папку storage/mail и никому не уходят. Подходит для проверки и для тестового сайта. Пока выбран этот способ, сайт никому ничего не отправляет. Берегитесь: файлы лежат письмами целиком, с рабочими ссылками сброса пароля и кодами входа, поэтому на рабочем сайте этот способ не оставляйте; файлы старше срока («Хранить письма «в файл», дней», по умолчанию 7) удаляются сами.
  • Функция mail() на сервере. Письмо передаётся самому хостингу. На большинстве хостингов работает без настройки, но письма с общего сервера нередко попадают в спам.
  • Сервер SMTP. Сайт сам входит в почтовый ящик и отправляет письма через него. Надёжнее всего: если есть выбор, берите его.

Шаг 1. Настройте SMTP #

Данные для SMTP берут в панели хостинга или у почтового провайдера: там создают ящик (например, no-reply@вашсайт.com) и называют сервер. Впишите их в «Настройки → Почта»:
  • Сервер SMTP: адрес почтового сервера, например smtp.вашсайт.com.
  • Порт и шифрование идут парой: порт 587 с шифрованием «tls» (переход на шифрование по STARTTLS) или порт 465 с шифрованием «ssl» (шифрование с первого байта). Вариант «без шифрования» (порт 25) годится только для внутренней сети.
  • Пользователь и пароль: данные ящика; чаще всего логин — полный адрес ящика. Сохранённый пароль повторно не показывается: пустое поле оставляет его как есть.
  • Адрес и имя отправителя: лучше на своём домене, потому что письма с чужого адреса уходят в спам.
  • Проверять TLS-сертификат: на рабочем сайте оставьте включённым. Выключать стоит только для доверенного локального тестового сервера: через SMTP уходит пароль ящика.
Отдельный переключатель «Отправлять в фоне» отвечает за скорость: письмо уходит после того, как страница отдана посетителю, а он не ждёт разговора с почтовым сервером, который занимает секунды.

Шаг 2. Проверьте отправку #

Сначала сохраните настройки, потом проверяйте: проверка идёт теми настройками, что уже сохранены. В блоке «Проверка почты» впишите адрес и нажмите «Проверить отправку»: уйдёт одно обычное письмо. Пришло — почта работает (загляните и в «Спам»). Не пришло — откройте «Состояние сайта»: там видно, на чём оборвался разговор с почтовым сервером. Ничего, кроме этого письма, проверка не меняет.

Шаг 3. Читайте журнал «Отправленные письма» #

Журнал показывает, что ушло и что не ушло, с причиной: кому, когда, тема, способ и итог «Ушло» или «Не ушло». Тексты писем и ссылки в них не сохраняются никогда, а записи хранятся заданное число дней (его задаёт настройка «Хранить журнал писем, дней»; ноль — не вести журнал). Письмо, которое не ушло, можно «Повторить из очереди». Причина записана в общих словах: способ, трёхзначный ответ сервера и класс беды. Вот что они значат:
  • auth failed (например, «smtp 535 auth failed»): сервер не принял логин или пароль. Проверьте их, а также, не нужен ли для ящика отдельный «пароль приложения».
  • connection failed или timeout: сайт не достучался до сервера. Проверьте адрес и порт; нередко хостинг закрывает исходящие подключения на отдельных портах, тогда попробуйте другую пару «порт и шифрование» или спросите поддержку.
  • tls error: не сошлось шифрование или сертификат. Проверьте пару «порт и шифрование» (587 с «tls», 465 с «ssl») и имя сервера; проверку сертификата на рабочем сайте не отключайте.
  • recipient rejected: сервер отказал получателю: адрес не существует или закрыт.
  • sender rejected: сервер не принял адрес отправителя; чаще всего он должен принадлежать этому ящику или вашему домену.

Шаг 4. Чтобы письма не попадали в спам #

Дошедшее письмо ещё не значит, что оно окажется во входящих. Три вещи решают почти всё:
  1. Отправляйте с адреса на своём домене, а не с чужого.
  2. В DNS домена и у почтового провайдера настройте SPF, DKIM и DMARC: они говорят принимающим серверам, что письма от вашего домена настоящие. Где именно это включается, подскажет провайдер почты.
  3. Не добавляйте посторонние ссылки и адреса в текст «защищённых» писем (сброс пароля, подтверждение адреса, код входа): так письмо становится способом обмануть ваших людей.

Свои тексты писем #

Письма, которые сайт шлёт сам, правятся в разделе «Шаблоны писем»: для каждого можно написать свою тему и текст на любом языке сайта, а пусто — значит, уйдёт штатный текст. Подстановки в фигурных скобках (название сайта, имя человека, адрес ссылки и другие; список показан на странице письма) заменяются настоящими значениями при отправке. Письма со ссылками и кодами входа защищены: изменённый текст такого письма — способ обмануть ваших людей, поэтому сохранение спрашивает пароль, а владельцам уходит уведомление.

Что проверить #

  • Способ отправки выбран и это не «в файл»: в папке storage/mail письма лежат целиком, с рабочими ссылками и кодами входа.
  • Проверочное письмо дошло во входящие, не в «Спам».
  • Адрес отправителя на вашем домене.
  • В DNS настроены SPF, DKIM и DMARC.
  • Письмо о сбросе пароля пришло на тестовую учётную запись и ссылка из него работает.
  • В журнале «Отправленные письма» нет красных «Не ушло» за последние дни.

Если что-то пошло не так #

  • Проверка прошла, а письма людям не приходят. Откройте журнал: у письма людям может быть другая причина (адрес получателя закрыт). Если же журнал пуст, проверьте очередь в «Состоянии системы»: при отправке в фоне письма идут через очередь.
  • Пароль перестал подходить. Его могли сменить у почтового провайдера; впишите новый в «Настройки → Почта».
  • Письма уходят, но в спам. Вернитесь к шагу 4: адрес на своём домене, SPF, DKIM, DMARC.
  • После переезда на другой хостинг почта молчит. Настройки отправки переключаются на «в файл» при развороте из копии: настройте их заново.
  • Хочется посмотреть, что вообще отправляется. Выберите способ «не отправлять, только в журнал» на тестовом сайте: письма лягут файлами в storage/mail.

Что дальше #

Когда почта работает, включите двухшаговый вход для владельца и настройте оповещения о неполадках на сайте: письма — тот канал, по которому сайт сам скажет, что с ним что-то не так.
Поделиться: Telegram WhatsApp

Читайте также

Обсуждение

Комментарии

Обсуждение ещё не началось

Пока никто не высказался. Будьте первым.

Пожаловаться на запись