Вопрос

Я настроил контактную форму AJAX на веб-сайте клиента.

Проблема в том, что электронное письмо не доходит до почтового ящика клиента.

Я настроил клиент с помощью Google Apps (точно так же, как я делал для себя).

Я использовал ту же контактную форму, что и мой адрес электронной почты, и это работает.Но с любыми адресами электронной почты в их домене это не так!

Все пользователи домена получают "обычные" электронные письма.

В чем может быть разница, которая останавливает прохождение электронных писем mail()?


Обновить

Итак, мне удалось решить эту проблему.Оказывается, использования CNAME для указания домена на правильный сервер было недостаточно для отправить почту поэтому мне пришлось изменить его на запись A, указывающую непосредственно на сервер.Странно, но это правда.Спасибо за помощь, ребята, вы указали мне правильное направление :)

Это было полезно?

Решение

Это зависит как от настроек на вашем сервере, так и от сервера на принимающей стороне.

hotmail, например, требует использования правильно настроенных Записи SPF.

многие серверы, принимающие почту (включая hotmail), требуют, чтобы электронное письмо отправлялось с Полное Доменное имя.Очень возможно, что ваши электронные письма, отправляемые с PHP, не соответствуют этому правилу.(есть большая вероятность, что они происходят от "apache")
видишь самопомощь hotmail и информация о почтальоне hotmail

Функция mail() в PHP не содержит большого количества заголовков в вашей почте, поэтому вам нужно будет предоставить их самостоятельно.

Чем больше переходов совершает ваше письмо по пути к месту назначения, тем больше вероятность того, что оно будет помечено как спам.Так что, возможно, лучшим вариантом было бы не использовать почтовую функцию PHP, а вместо этого использовать почтовая библиотека который подключается к SMTP-серверу точно так же, как это делает ваше настольное почтовое приложение.

В общем, я бы сделал ставку на внешнюю библиотеку: Груша::Почта (Документация)

Вы также могли бы прочитать: как вы можете убедиться, что электронное письмо, которое вы отправляете программно, автоматически не помечается как спам

Обновить
Сбой проверки идентификатора отправителя или SPF может привести к удалению вашего сообщения еще до того, как оно попадет в папку "Входящие" пользователя.Сообщение не попадет в папку нежелательной почты пользователей, оно попадет непосредственно в /dev/null.Я знаю, что это, по крайней мере, верно для hotmail и live mail.Я не вижу причин, по которым другие хостинги не применяли бы ту же политику.

Другие советы

Вместо этого я рекомендую использовать библиотеку PHPMailer (включая их SMTP).Он надежен по сравнению с почтой и позволяет создавать полностью индивидуальные электронные письма.

http://phpmailer.worxware.com/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top