Многие вещи могут сделать это, и одна из них - искаженные сообщения электронной почты. Этого довольно легко достичь с помощью функции PHP mail , если вы не знаете RFC / стандарты. Даже если mail()
вернет истину (успех), возможно, электронное письмо никогда не достигнет своего пункта назначения.
Более (неочевидными) причинами такого сбоя часто являются:
Дополнительные заголовки (например, Reply-To
) должны быть разделены \r\n
:
Несколько дополнительных заголовков должно быть
разделенные CRLF (\ r \ n).
Линии в теле должны быть разделены \n
:
Каждая строка должна быть отделена
LF (\ n). Линии не должны быть больше
чем 70 символов
В настоящее время вы используете \r
и \n
в теле, что неверно (в некоторых случаях это может работать, но это зависит от многих вещей из ваших рук).
Другими причинами могут быть отсутствие заголовка Reply-To
или даже неправильно настроенные записи MX , из-за которых вся ваша электронная почта, отправленная с помощью PHP, считается спамом.
Лучшее (и самое простое) решение IMHO - перестать использовать почтовую функцию PHP и переключиться на библиотеку, которая будет создавать правильно отформатированные почтовые сообщения. Таким образом, вам не нужно изучать все хитрые RFC, и ваш код будет более безопасным, если вы используете хорошую библиотеку (читайте о атаках по электронной почте ).
Я использую Swift Mailer и PHPMailer .