Правильная настройка почты, чтобы не попасть по спам фильтры

Особенность антиспама Mail.ru

mail headers

Письма, отправленные с неверным заголовком Return-Path не попадают даже в спам. Лечение:

  • Добавить в заголовки Return-Path: ..., либо
  • Через ключ -f mail():
return-path.php
mail("email@site.ru", "subj", "message text", "From: email@site.ru\nContent-Type: text/plain; charset=windows-1251\nContent-Transfer-Encoding: 8bit", "-femail@host.ru"); 

Другие флаги:

  • -oi sendmail не должен добавлять одну точку (.) в конец письма
  • -t sendmail должен парсить To: и другие заголовки

MIME_HTML_ONLY - необходимо добавить текстовую версию письма

Если SpamAssassin выдает MIME_HTML_ONLY, то есть сообщение содержит только text/html, необходимо добавить текстовую версию письма text/plain.

При использовании класса PHPMailer в нем есть метод PHPMailer::MsgHTML($message, $basedir), который следует использовать.

Для Joomla Virtuemart можно после $mailer->setBody( $body ); добавить:

components/com_virtuemart/helpers/shopfunctionsf.php
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $body)));
if (!empty($textMsg)) {
  $mailer->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $mailer->CharSet);
}