$body = 'This is a test'; $subject = 'Confirmation'; $headers = 'From: Testing Site' . "\r\n"; $headers .= 'Reply-To: admin@myserver.com' . "\r\n"; $headers .= 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html;charset=iso-8859-1' . "\r\n"; $headers .= 'X-Mailer: PHP/' . phpversion(). "\r\n"; $headers .= 'Delivery-Date: ' . date("r") . "\r\n"; //$headers .= 'Message-Id: <20140316055950.DA8ED58A13CE@myserver.com>' . "\r\n"; mail("example@hotmail.com", $subject, $body, $headers, "-f admin@myserver.com"); mail("example@gmail.com", $subject, $body, $headers, "-f admin@myserver.com");
Письма отправляются штрафом в Gmail, но они всегда отвергаются Hotmail с этой ошибкой:
host mx1.hotmail.com [65.55.33.119] said: 550 5.7.0 (COL0-MC5-F28) Сообщение не может быть доставлено. Убедитесь, что сообщение соответствует требованиям RFC 5322. (в ответ на конец команды DATA).
- Специальные символы в UTF8 mailto: subject = link и Outlook
- Не удалось отправить электронную почту powershell, используя php-скрипт для Outlook, используя iis windows server 2012
- читать содержимое PST-файла с помощью php
- Откройте новую почту Outlook, используя php и html.
- PHP: создания iCal, как создать новую строку в описании
Заголовок идентификатора сообщения генерируется автоматически сервером, но он также не помогает поставлять его вручную.
Почему Hotmail не счастлив?
Почтовый сервер имеет запись SPF, обратный DNS, не занесен в черный список и передает все проверки на mxtoolbox.com.
Недопустимый заголовок From
. Он должен иметь следующий синтаксис:
From: "name" <email-address>
В твоем случае:
From: "Testing Site" <admin@myserver.com>
То же самое касается заголовка Reply-To
:
Reply-To: "Testing Site" <admin@myserver.com>
Что вы можете опустить, если это то же самое, что и заголовок From
(как в вашем случае).
PS: RFC 2822 не указывает, что отображаемое имя в адресе должно быть указано. Другими словами: должны работать следующие 3 заголовка:
From: "Testing Site" <admin@myserver.com> From: 'Testing Site' <admin@myserver.com> From: Testing Site <admin@myserver.com>
Если вы используете WordPress, вы можете найти плагин для поддержки электронной почты Hotmail / Outlook.
Однако, если это автономный скрипт, вы можете посмотреть официальный ответ Microsoft на этот запрос по URL-адресу: http://answers.microsoft.com/en-us/outlook_com/forum/oemail-osend/why-are-the- электронные письма посланного к Microsoft-аккаунт / b64e3e4a-0d93-40c8-8e28-4be849012f9c
Короткий поставщик Email-сервера должен заполнить эту форму (один раз): https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts&wa=wsignin1.0&scrx=1
Чтобы получить их сообщения, принятые Hotmail / Outlook.
Использование библиотеки PHPMailer для отправки почты вместо функции mail () наконец-то разобрало эту проблему и является рабочим решением для меня. Answer by Jasper N. Brouwer, вероятно, более правильно ответил на вопрос, хотя у меня не было возможности попробовать его.
1) Перейти к Мастер записи SPF
2) создать новую запись SPF для вашего домена DNS
3) Добавьте эту запись DNS в DNS вашего домена
4) если вы терпите неудачу в этом процессе, прочитайте подробную спецификацию записи SPF
После завершения этого процесса HOTMAIL будет рад вашей электронной почте.