PHP mail () - электронная почта не получена - PullRequest
1 голос
/ 23 октября 2009

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

Проблема в том, что электронная почта не попадает в почтовый ящик клиента.

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

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

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

Какая разница, что мешает почте () получать электронную почту?


UPDATE

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

Ответы [ 2 ]

2 голосов
/ 23 октября 2009

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

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

многим почтовым серверам (включая hotmail) требуется, чтобы электронная почта исходила из Полного доменного имени . Вполне возможно, что ваши письма, отправленные с PHP, не соответствуют этому правилу. (есть большая вероятность, что они происходят от «apache»)
см. Самопомощь Hotmail и Информация почтмейстера Hotmail

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

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

В общем, я бы сделал ставку на внешнюю библиотеку: Pear :: Mail ( документация )

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

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

0 голосов
/ 23 октября 2009

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

http://phpmailer.worxware.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...