.comment { color: gray; } .keyword { font-weight: bold; } .html .atribute .value { color: green; }

воскресенье, 24 мая 2009 г.

Почему письма отправленные PHP mail function (Joomla 1.5.x) определяются как спам?

У каждой статьи (опубликованного материала) есть кнопка "отправить ссылку на материал по почте другу". Эта кнопка работает по назначению (в принципе) и если письмо отправлено, то большая часть уважающих себя почтовых серверов определяет эти письма как спам, а это не солидно. Все дело в заголовке Sender. Если там стоит адрес отправителя, который не является корректным, то такое письмо потенциальный спам. Кстати, письма отправленные со страниц VirtueMart'а имеют корректные заголовки, в том числе Sender. У VirtueMart'а своя отправлялка, хотя тоже не без косяков.
Так как же сделать что бы отправлялись валидные мэйлы? Случайно прочитал топик в котором чел описывал такую же проблему, и вдохновившись решил таки найти откуда берется этот заголовок - Sender.
Незнаю, с того боку я зашел или нет, но мне это помогло. В скрипте libraries/phpmailer/phpmailer.php есть много хороших переменных, в том числе var $Sender, а также комментарий к ней:
/**
* Sets the Sender email (Return-Path) of the message. If not empty,
* will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
* @var string
*/
var $Sender = "";

где русским языком английскими буквами написано, что если значение не пустое (а оно млин пустое), то будет оправлено сендмейлу, что нам и нужно. Я вписал тот адрес который хотел видеть в заголовке Sender
var $Sender = "name@domen.com";

и алилуйя, отправляется письмо с валидными заголовками!

2 комментария:

  1. Ты - Лучший !!! Всё Гениальное - Просто!

    ОтветитьУдалить
  2. 3 дня бился с root@localhost в письме. Огромное спасибо!!!

    ОтветитьУдалить