Формы обратной связи не отправляют письма на Gmail или Google Workspace

Если письма с формы обратной связи сайта не приходят на Gmail или Google Workspace, проблема чаще всего не в самой форме, а в том, как сайт отправляет почту. Google проверяет аутентификацию отправителя, репутацию домена и совпадает ли видимый адрес From: с сервером, который фактически отправляет письмо.

Старый способ просто изменить sendmail_path уже нельзя считать надежным решением. В некоторых старых случаях он может помочь, но для стабильной доставки лучше настроить отправку формы через SMTP и проверить SPF, DKIM и DMARC.

Не используйте email посетителя в поле From

Частая ошибка - отправлять письма с формы так:

From: visitor@gmail.com

Сервер сайта не имеет права отправлять письма от имени gmail.com, поэтому Gmail может воспринимать такое письмо как подмену отправителя. В поле From: используйте адрес на вашем домене, например:

From: website@example.com
Reply-To: visitor@gmail.com

Так письмо отправляется от вашего домена, а владелец сайта все равно сможет ответить посетителю напрямую через адрес из Reply-To.

Рекомендуемый вариант: отправка через SMTP

  1. Создайте почтовый ящик на вашем домене, например website@example.com.
  2. Откройте настройки формы, CMS или плагина.
  3. Включите отправку через SMTP вместо PHP mail или sendmail.
  4. Укажите SMTP-сервер, порт, шифрование и пароль почтового ящика.
  5. В поле From укажите этот же ящик или другой ящик на том же домене.
  6. Отправьте тестовое письмо на Gmail или Google Workspace и проверьте также папку спама.

Для большинства сайтов это самый предсказуемый вариант, потому что письмо отправляется с авторизацией реального почтового ящика, а не анонимно через скрипт.

DNS-записи, которые влияют на доставку

  • SPF показывает почтовым серверам, какие серверы имеют право отправлять письма от имени вашего домена.
  • DKIM добавляет цифровую подпись к исходящим письмам.
  • DMARC сообщает почтовым провайдерам, что делать, если SPF или DKIM не прошли проверку, и помогает защитить домен от подмены.

Если почта домена работает через Google Workspace, у домена должны быть MX-записи Google, SPF Google и включенный DKIM в Google Admin. Если сайт отправляет письма с хостингового сервера, этот сервер тоже должен быть разрешен в SPF, либо форма должна отправлять почту через SMTP.

Если почта домена находится в Google Workspace

Проверьте, что для домена прописаны MX-записи Google, а хостинг-панель не пытается доставлять почту локально на этот же домен. В DirectAdmin это обычно проверяется в настройках MX-записей или маршрутизации почты. Если почта обслуживается внешним сервисом, локальную доставку почты для домена нужно отключить.

Если локальная доставка остается включенной при MX-записях Google, сервер может пытаться доставить письмо формы в локальный ящик, а не отправить его в Google Workspace.

Что проверить в форме или CMS

  • Адрес From принадлежит вашему домену.
  • Email посетителя указан в Reply-To, а не в From.
  • По возможности включена SMTP-авторизация.
  • Для домена отправителя настроены SPF, DKIM и DMARC.
  • У письма нормальная тема и текст, а не только ссылка или пустое сообщение.
  • Почтовый ящик, через который идет отправка, не переполнен и пароль указан верно.

Когда еще может использоваться sendmail_path

На некоторых старых PHP-конфигурациях администратор сервера или поддержка может рекомендовать указать envelope sender через -f mailbox@example.com. Это запасной вариант. Он не должен заменять нормальную отправку через SMTP и корректную DNS-аутентификацию.

Если вы не уверены, каким способом отправляет почту ваш сайт, отправьте нам домен, название CMS/плагина и пример адреса получателя. Мы поможем понять, где проблема: в настройках формы, DNS-записях или маршрутизации почты.