Функция PHP mail() не может отправить на hotmail?

Хорошо, я искал в Интернете ответы - к сожалению, безрезультатно. Я пытаюсь отправить почту с помощью функции PHP mail(), чтобы участники могли пройти по ссылке для регистрации. Это работает для Gmail, Yahoo!, но не для Hotmail. Пожалуйста, помогите мэн!!!

   <?php
$headers .= 'To: <[email protected]>' . "\r\n";
$headers .= 'From: <[email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";
$text="hello";
$text = str_replace("\n.", "\n..", $text);
mail('Kenny Worden:<[email protected]>','Leos Realm account verification!',$text,$headers);
?>

Если это кому-нибудь поможет:

SMTP: локальный хост (srv30.000webhost.com)

SMTP-ПОРТ: 25


person Community    schedule 26.04.2011    source источник
comment
Вы заглянули в папку с нежелательной почтой, потому что нет ничего, что помешало бы ей работать на одном почтовом сервере, а не на другом.   -  person judda    schedule 27.04.2011
comment
ничего в папке нежелательной почты... почему?   -  person    schedule 27.04.2011
comment
Вы пытались запустить тот же самый скрипт на другом сервере (который использует другой SMTP-сервер для отправки почты)   -  person gd1    schedule 27.04.2011


Ответы (3)


Ваш код кажется хорошим. Я предполагаю, что что-то не так на ваших серверах, проверьте журналы доставки почты или попросите администратора сервера просмотреть их для вас. Может быть проблема с маршрутизацией/dns.

edit: я только что попробовал этот скрипт на своем сервере, и он работает хорошо. немедленно получил электронную почту на мой адрес hotmail.

person Sabeen Malik    schedule 26.04.2011
comment
какой сервер вы используете? до сих пор нет кубика ;( - person ; 27.04.2011
comment
ничего особенного, общий Linux-сервер с hostgator. - person Sabeen Malik; 27.04.2011
comment
Вы знаете, влияет ли на что-нибудь ОС, на которой работает хост? Я думаю, что мой - Windblows, но я должен перепроверить: P - person ; 27.04.2011
comment
Если я правильно понимаю, вы находитесь на виртуальном хостинге. Поговорите с вашей веб-хостинговой компанией, и я уверен, что они что-нибудь придумают. - person Sabeen Malik; 27.04.2011

Вам не хватает строки "-f <from address>" в качестве пятого параметра.

В Руководстве по PHP указано, что это необходимо сделать, чтобы MTA отправит правильный адрес "От" на конверте. Установить его в заголовках недостаточно. Вот почему я не рекомендую mail() и указываю людям на php-mailer или подобное.

(«Конверт» относится к диалогу, который MTA ведет с другим MTA для доставки электронной почты.)

person staticsan    schedule 27.04.2011

код нравится нормально, все, что вы делаете, чтобы оно выглядело как спам, заблокирует его от горячей почты, попробуйте создать записи spf для своего домена и даже подписи.

проверьте, не занесен ли ваш почтовый сервер в черный список, это может вызвать проблемы http://www.mxtoolbox.com/

Поскольку @staticsan рекомендует php-mailer, а также http://swiftmailer.org/, вы можете использовать другие варианты, которые могут помощь

person bumperbox    schedule 27.04.2011