Функция 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
3 answers
Ваш код кажется хорошим. Я предполагаю, что на вашем сервере что-то не так, проверьте журналы доставки почты или попросите администратора вашего сервера просмотреть их для вас. Может быть проблема с маршрутизацией/dns.
Редактировать: я только что попробовал этот скрипт на своем сервере, и он хорошо работает. сразу же получил электронное письмо на свой адрес электронной почты.
Вам не хватает строки "-f <from address>"
в качестве пятого параметра.
В Руководстве по PHP указано, что вам необходимо указать это, чтобы MTA отправил правильный адрес "От" на конверте. Установки его в заголовках недостаточно. Такого рода бессмысленность - вот почему я не рекомендую mail()
и указываю людям на php-mailer
или подобное.
("Конверт" относится к разговору MTA с другим MTA для доставки электронной почты.)
Код нравится отлично, все, что вы делаете, чтобы это выглядело как спам, заблокирует его от hotmail , попробуйте создать записи spf для вашего домена и даже подписи
Проверьте, что ваш почтовый сервер не занесен в черный список, это может вызвать проблемы http://www.mxtoolbox.com/
Как @staticsan рекомендует php-почтовую программу или также http://swiftmailer.org / есть ли другие варианты, которые вы можете использовать, попробуйте, которые могут помочь