У нас есть приложение Rails, используемое для обращения в службу поддержки и поддержки.
Он отправляет клиентам электронное письмо с подтверждением, когда они отправляют запрос. Он также отправляет электронное письмо, когда мы отвечаем на их запрос. Он не принимает почту.
В течение последней недели более 25% наших клиентов перестали получать ответы. Они думают, что мы не отвечаем на их билет (хотя на самом деле это так).
Я провел тест со своей учетной записью @ yahoo.com и нашел это в файле mail.log:
Jul 9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command)
Jul 9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<erik.dungan@yahoo.com>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$
Другие адреса, не относящиеся к Yahoo, также сталкиваются с этой проблемой.
Приложение Rails работает в Ubuntu, и мы отправляем через:
ActionMailer::Base.delivery_method = :sendmail
Я убедился, что сервер не является открытым реле.
Что еще я могу сделать, чтобы большинство наших писем доходили до нас?
Это сообщение часто связано с серыми списками (особенно с Yahoo, которые, кажется, делают это со всеми в определенные моменты). Обычно почтовый сервер временно откладывает вашу первую почту, законный почтовый сервер увидит это сообщение, подождет некоторое время и попытается снова. Серверы, которые рассылают спам, часто настроены на рассылку большого количества писем и забывают об этом, поэтому они никогда не будут повторять попытку, и поэтому спам отбрасывается.
Чтобы убедиться, что вы можете пройти через серый список, убедитесь, что ваш почтовый сервер настроен на повторную попытку после отсрочки, и предоставьте ему разумные временные окна, обычно достаточно 10-20 минут.
Временный сбой на каком-либо другом почтовом сервере не является чем-то необычным; вы должны ожидать, что это будет происходить время от времени.
Я полагаю, что большинство провайдеров электронной почты (отказ от ответственности: я работаю только на ОДИН) будут чаще отказываться от отправителей с "плохой репутацией". Мы делаем это, чтобы выборочно расставлять приоритеты для ресурсов для чистой почты. Если вашему серверу удалось добиться плохой репутации своего IP-адреса, это, вероятно, означает, что сообщения классифицируются как спам, отправленные вашим приложением или как-то еще с того же IP-адреса.
Вы должны ОБЯЗАТЕЛЬНО контролировать свои почтовые очереди. Возможно, вам следует провести аудит отдельных поставок, чтобы вы могли их отслеживать.
Если вы видите большое количество сообщений в очереди на доставку, это указывает на какую-то неисправность, либо на почтовом сервере получателя, либо на то, что они каким-то образом заносят в черный список / отменяют приоритетность вашей почты.
То, как именно вы это делаете, зависит от конкретного приложения.
В этом конкретном случае вам следует обратиться в службу поддержки Yahoo, если вы думаете, что определенно не рассылаете им спам (как и кто-либо другой с того же IP-адреса).
Похоже, у вас есть две проблемы:
WRT # 1, я бы сделал следующие проверки:
WRT # 2, я бы посоветовал включить прозрачный gif или специально отмеченный логотип в вашу электронную почту, которая будет «звонить домой» на ваш сервер. Да, это означает, что вам нужно отправить электронное письмо в формате HTML, и да, некоторые клиенты будут блокировать получение изображений по электронной почте по умолчанию, однако вы быстро увидите свою нормальную скорость ответа и сможете определить, упала ли она. Если у вас есть ценные клиенты и вы видите, что они, возможно, не получили вашего ответа, вы можете заранее им позвонить.
Вы также должны убедиться, что ваш почтовый сервер правильно идентифицирует себя (как mail.yourapp.com или что-то еще) и что существует запись PTR, связывающая этот IP-адрес с этим именем.
Кроме того, вы можете добавить запись SPF, позволяющую этому IP / серверу отправлять почту для вашего домена, чтобы он, по крайней мере, также получил SPF: Pass.
Это похоже на временный сбой. postfix должен повторить попытку через некоторое время. Как выглядит конфигурация постфикса? Попадает ли сообщение в почтовую очередь postfix? Настроен ли у вас postfix для периодической проверки сообщений в очереди?
+1 за рекомендацию записи SPF. Также неплохо настроить обработчик отказов почты.