PHP mail () Multipart / Alternative для HTML и текстовых писем - PullRequest
5 голосов
/ 28 июня 2011

Я использую следующий код для отправки электронного письма в формате Multipart / Alternative HTML и Plain Text. Письма отправляют качественный контент, однако некоторые из них попадают в спам-фильтры. Это код, который я использую.

$notice_text = "This is a multi-part message in MIME format.";
$plain_text = "Some Plain Text Here\n\n";
$html_text = '<html><head><title>Sample HTML Email</title></head><body>';
$html_text .= '<p>Some text will go here.</p>';
$html_text .= '<p><img src="http://www.mydomain.com/img/offers.jpg" /></p>';
$html_text .= '<p>Can\'t see the images? <a href="http://www.mydomain.com/print_offer.php?promo=' . $promo_code . '">Click here</a></p>';
$html_text .= '</body></html>';

$semi_rand = md5(time());
$mime_boundary = "==MULTIPART_BOUNDARY_$semi_rand";
$mime_boundary_header = chr(34) . $mime_boundary . chr(34);

$from = "Test Email <testemail@testemail.com>";
$subject = "Get Your Offers Here";

$body = "$notice_text

--$mime_boundary
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

$plain_text

--$mime_boundary
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

$html_text

--$mime_boundary--";

mail($email, $subject, $body,
    "From: " . $from . "\n" .
    "bcc: " . $bcc . "\n" .
    "MIME-Version: 1.0\n" .
    "Content-Type: multipart/alternative;\n" .
    "     boundary=" . $mime_boundary_header);

Что заставляет его попадать в спам-фильтры? Когда я отправляю электронное письмо в виде обычного текста, они проходят очень хорошо, только когда я отправляю электронное письмо в формате HTML, их ловят. Любая помощь будет оценена. Что еще я могу добавить к заголовкам, чтобы помочь с защитой от спам-фильтра?

Ответы [ 2 ]

5 голосов
/ 28 июня 2011

Многие спам-фильтры используют накопительную систему оценки, чтобы определить, является ли входящее сообщение спамом.Отдельные «спамовые» проблемы могут проскальзывать, но если несколько из них присутствуют в определенном электронном письме, достигнут порог и сообщение сброшено.

В вашем сообщении я вижу несколько вещей, которые могут увеличить ваш счет:

Тема: «Получите свои предложения здесь»

Решение: Попробуйте включить конкретный текст о содержании вашей электронной почты и рассмотритевключая название вашей компании

и

От:"Test Email: testemail@testemail.com";

Решение: Используйте реальный адрес электронной почты.Также убедитесь, что сервер, с которого вы отправляете электронную почту, настроен правильно (см. SPF )

и

Содержимое: Неизвестно

Решение: Убедитесь, что ваш контент является конкретным и актуальным.Убедитесь, что все ссылки указывают на домен, с которого отправлено письмо.Старайтесь не использовать слишком много ключевых слов «спам» («предложение», «бесплатно», «l @@ k» и т. Д.).

Вы можете выполнить тест на запах в своих электронных письмах.Удалите все ссылки на вашу компанию и продукты и введите общие условия.Посмотрите на результат, чтобы увидеть, удалите ли вы сообщение, если оно пришло в ваш почтовый ящик.

2 голосов
/ 02 июля 2012

Прямая ссылка на ваш файл изображения также очень высоко оценивается спамдаром.

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