Intereting Posts
PHP API Google Calendar: одновременное добавление нескольких событий Обновить элемент страницы после определенного времени Почему я не могу получить переменную $ _POST с дефис / тире в ее ключе, если передаю ключ как переменную? Yii: любое расширение для реализации встроенной карты google Функция обратного вызова входа FB не отвечает, если пользователь уже зарегистрирован в facebook Кто-нибудь может предоставить расширение uploadprogress.dll для php 5.3.0? fileinfo и типы mime, о которых я никогда не слышал Установка расширения PHP Zip PHP: Как получить доступ к папке загрузки вне корневого каталога? вернуть несколько значений из функции Понимание каскадных операций Doctrine Ошибка PHP LimitIterator («Не поддерживает поиск» + «Невозможно перемотать файл») Файлы php и xps Использовать API php и SimPro для перечисления клиентов 401 Несанкционированный запрос DELETE для RESTful API в laravel через Ajax

Полный почтовый заголовок

Мне нужен набор почтовых заголовков для присоединения к моей функции mail() в PHP. Я отправляю в них электронные письма с HTML, а иногда такие службы, как Yahoo Mail, блокируют их. Поэтому я должен убедиться, что я, по крайней мере, предоставляю правильные заголовки.

Мой код:

 // To send HTML mail, the 'Content-type' header must be set $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Additional headers $headers .= 'From: MyCompany <welcome@mycompany.com>' . "\r\n"; 

Есть ли что-нибудь еще, что я должен добавить?

  $headers = "From: testsite < mail@testsite.com >\n"; $headers .= "Cc: testsite < mail@testsite.com >\n"; $headers .= "X-Sender: testsite < mail@testsite.com >\n"; $headers .= 'X-Mailer: PHP/' . phpversion(); $headers .= "X-Priority: 1\n"; // Urgent message! $headers .= "Return-Path: mail@testsite.com\n"; // Return path for errors $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; 

Большинство MUA вставляют много дополнительных заголовков; однако, вот своего рода минимальный минимум, который вы можете ожидать.

 To: Subject: Date: MIME-Version: Content-type: Для того, To: Subject: Date: MIME-Version: Content-type: 

Если вы используете HTML, то вы, вероятно, должны использовать многостраничные сообщения, но это не является строго необходимым.

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

Цитата из Википедии:

Один метод защиты от спама по электронной почте: проверка доменных имен в rDNS, чтобы узнать, могут ли они от пользователей dialup, динамически назначенных адресов или других недорогих интернет-сервисов. Владельцы таких IP-адресов обычно назначают им общие имена rDNS, такие как «1-2-3-4-dynamic-ip.example.com». Поскольку подавляющее большинство, но далеко не все, электронной почты, которая исходит от этих компьютеров, является спамом, многие спам-фильтры отказываются от электронной почты с такими именами rDNS.

Используйте следующий список заголовков с mail() PHP mail() :

 $headers = "From: testsite < mail@domain.com >\n"; $headers .= "Cc: testsite < mail@domain.com >\n"; $headers .= "X-Sender: testsite < mail@domain.com >\n"; $headers .= 'X-Mailer: PHP/' . phpversion(); $headers .= "X-Priority: 1\n"; // Urgent message! $headers .= "Return-Path: mail@domain.com\n"; // Return path for errors $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=iso-8859-1\n"; 

Действительно ли почта появилась на «mycompany.com»? У меня были проблемы с некоторыми блокировками почтовых служб, если на самом деле это не произошло с сервера SMTP, что почта говорит, что это так.

Для меня это было связано с тем, что это был automail@mydomainnaim.com и добавление reply-to , являющийся человеком, который отправил почту, используя мою систему.

Приведенная ниже ссылка может быть полезна для определения обязательных заголовков:

  • Дата: дата появления / записи сообщения.

  • От: человек «ответственный» за сообщение.

http://www.by-users.co.uk/faqs/email/headers/#MandatoryMail

RFC для IMF и MIME определяют минимальный набор заголовков, поэтому это было бы хорошим местом для начала.

Для МВФ смотрите здесь: http://tools.ietf.org/html/rfc5322#section-3.6

Для MIME смотрите здесь: http://tools.ietf.org/html/rfc2045#section-3

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

Например, http://phpmailer.codeworxtech.com/ .