Я установил postfix и opendkim на свой сервер ubuntu, намереваясь использовать этот сервер в качестве частного ретранслятора для приложения, которое будет отправлять электронные письма «активации» новым пользователям. Я настроил аутентификацию SASL с dovecot-commons, чтобы защитить ее.
Я провел тест по следующему методу: echo "Email Body" | mail -s "Subject" em@il.com
и использовал mail-tester.com для проверки моей конфигурации и правильной работы записей SPF / DMARC. Я также использовал telnet для тестирования, подключившись к сокету SMTP и заполнив свое имя пользователя в MAIL FROM
поле. Это тоже было успешным.
Затем я создал новую учетную запись на сервере и протестировал отправку от имени этого нового пользователя. Это было когда ничего не работало. И команда mail, и методы telnet сообщат об успешном выполнении без ошибок, но электронное письмо никогда не достигнет получателя. Я тестировал с использованием идентичного набора темы и тела сообщения, отправленного на один и тот же внешний адрес электронной почты. Журналы не содержат никаких ошибок и выглядят одинаково успешно.
Есть ли какие-либо предварительные условия для учетной записи пользователя, чтобы иметь возможность использовать postfix + dovecot?
Запись в журнале попытки использования старой учетной записи пользователя
Nov 24 21:09:42 host postfix/pickup[21809]: D816C20CC7: uid=1000 from=<old_user_account@domain>
Nov 24 21:09:42 host postfix/cleanup[21918]: D816C20CC7: message-id=<20151124130942.D816C20CC7@mail.domain>
Nov 24 21:09:42 host opendkim[21821]: D816C20CC7: DKIM-Signature field added (s=mail, d=domain)
Nov 24 21:09:42 host postfix/qmgr[21810]: D816C20CC7: from=<old_user_account@domain>, size=368, nrcpt=1 (queue active)
Nov 24 21:09:45 host postfix/smtp[21929]: D816C20CC7: to=<external.em@il.com>, relay=mx2.hotmail.com[65.54.188.72]:25, delay=2.6, delays=0.05/0.01/1.6/0.92, dsn=2.0.0, status=sent (250 <20151124130942.D816C20CC7@mail.domain> Queued mail for delivery)
Nov 24 21:09:45 host postfix/qmgr[21810]: D816C20CC7: removed
Запись в журнале попытки использования новой учетной записи пользователя
Nov 24 21:10:36 host postfix/pickup[21809]: 72A4C20CC7: uid=1002 from=<new_user_account@domain>
Nov 24 21:10:36 host postfix/cleanup[21918]: 72A4C20CC7: message-id=<20151124131036.72A4C20CC7@mail.domain>
Nov 24 21:10:36 host opendkim[21821]: 72A4C20CC7: DKIM-Signature field added (s=mail, d=domain)
Nov 24 21:10:36 host postfix/qmgr[21810]: 72A4C20CC7: from=<new_user_account@domain>, size=371, nrcpt=1 (queue active)
Nov 24 21:10:39 host postfix/smtp[21929]: 72A4C20CC7: to=<external.em@il.com>, relay=mx2.hotmail.com[65.55.33.135]:25, delay=3.3, delays=0.06/0/1.7/1.5, dsn=2.0.0, status=sent (250 <20151124131036.72A4C20CC7@mail.domain> Queued mail for delivery)
Nov 24 21:10:39 host postfix/qmgr[21810]: 72A4C20CC7: removed
Вы получаете сообщение в очереди на доставку, но вы не предоставляете нам достаточно информации, чтобы мы знали, было ли оно просто поставлено в очередь на вашем постфиксе или оно также было поставлено в очередь в пункте назначения.
Вы говорите, что использовался другой сервер hotmail, я полагаю, вы отправляете на адрес в hotmail? Если hotmail сообщает «поставлено в очередь на доставку» для двух разных писем и одно не приходит, то проблема в содержимом. Один определяется как спам.
Возможно, принимающий пользователь сможет найти его в своей папке для спама. В противном случае добавьте отправителя в список «надежных отправителей» и повторите попытку. Если он работает, вы получите подтверждение, что это были правила защиты от спама.
Может быть, ваш DMARC хорошо работает для писем, отправленных с вашего сервера, но не для писем, ретранслируемых вашим сервером? Попробуйте найти «потерянное» электронное письмо или отправить новое на какой-нибудь адрес с меньшей фильтрацией спама и сравните заголовки. Может быть, вы знаете кого-нибудь, у кого есть фильтрация SpamAssassin; SpamAssassin обычно записывает анализ в заголовки, которые вы можете использовать, чтобы выяснить, почему ваша почта считается спамом.
РЕДАКТИРОВАТЬ: Спасибо за добавление журналов. Они показывают, что оба письма правильно доставлены на hotmail. Тот факт, что IP-адреса Hotmail разные, не важен. Если один из них повторно проходит, а другой нет, фильтрация должна выполняться по-разному в зависимости от исходного адреса электронной почты. Поскольку это Hotmail, попробуйте добавить нового отправителя в список надежных отправителей.. В других ситуациях проблема может заключаться в ручной фильтрации (некоторые провайдеры позволяют вам писать свои собственные правила, а иногда люди забывают о них).