За последние 24 часа нас посетили 15022 программиста и 1760 роботов. Сейчас ищут 1688 программистов ...

Как правильно отправлять письма с сайта?

Тема в разделе "Работа с почтой", создана пользователем Рамарио, 21 авг 2010.

  1. Рамарио

    Рамарио Активный пользователь

    С нами с:
    12 авг 2010
    Сообщения:
    6
    Симпатии:
    0
    Адрес:
    Россия, Москва
    Сейчас скрипт отправляет письма юзерам следующим образом:

    Код (Text):
    1. mail
    2.       (
    3.         "=?utf-8?b?".base64_encode( $user['name'] )."?= <".$user['email'].">",
    4.         "=?utf-8?b?".base64_encode( $object )."?=",
    5.         $body,
    6.         "From: =?utf-8?b?".base64_encode( 'Наименование сайта' )."?= <noreplay@example.com>\r\n".
    7.         "Reply-To: <>\r\n".
    8.         "Content-Type: text/html; charset=\"utf-8\"\r\n".
    9.         "Content-Transfer-Encoding: 7bit",
    10.         "-f noreplay@example.com"
    11.       );

    MTA - Sendmail.

    Проблема в следующем: в очереди сендмейла повисает много (спустя время их накапливается тысячи) писем в адрес noreplay. Выжимка из /var/log/mail.log:
    Код (Text):
    1. Aug 21 09:24:03 vps27806 sm-mta[17532]: o7L5K3CE017532: to=<noreplay@example.com>, delay=00:04:00, xdelay=00:04:00, mailer=esmtp, pri=30000, relay=mx1.masterhost.ru. [217.16.16.81], dsn=4.0.0, stat=Deferred: Connection timed out with mx1.masterhost.ru.
    Меня беспокоит следующие два вопроса:
    1. Почему эти письма вообще возникают? Я вполне допускаю, что кто-то (не знаю: мой sendmail или сервер получателя) хочет прислать мне какой-то нотифай. Но я бы хотел, что бы этого вообще не происходило, дабы снизить нагрузку на сервак. В принципе, именно для этого я так оформил поле "Reply-To: <>\r\n" (еще пробовал "Reply-To: Наименование сайта <noreplay@example.com>\r\n").
    2. Раз уж они приходят, то почему они не валятся в ящик noreplay@example.com, который существует и вполне себе работет?

    Еще уточнение: сервер, отправляющий письма и сервер с ящиком noreplay - физически разные (первый - на логоле, второй - на мастерхосте).

    Т.е. задача такая: мне нужно что бы скрипт отправлял письмо с минимальными для себя последствиями в виде многодневных ретраев и получения нотифаев.

    Спасибо за помощь!