У нас есть приложение 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=<[email protected]>, 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
Я убедился, что сервер не является открытым ретранслятором.
Что еще я могу сделать, чтобы гарантировать, что большинство наших писем будут доставлены?
решение1
Это сообщение часто связано с серыми списками (особенно с Yahoo, которые, кажется, делают это со всеми в некоторые моменты). По сути, почтовый сервер временно откладывает ваше первое письмо, законный почтовый сервер увидит это сообщение, подождет некоторое время и попробует снова. Серверы, которые отправляют спам, часто настроены на то, чтобы просто отправлять большие объемы почты и забывать об этом, поэтому он никогда не будет пытаться снова, и поэтому спам отбрасывается.
Чтобы убедиться, что вы сможете обойти «серый список», убедитесь, что ваш почтовый сервер настроен на повторную попытку после отсрочки, и задайте для этого разумные временные интервалы (обычно достаточно 10–20 минут).
решение2
Получение сообщения tempfailed от другого почтового сервера не является чем-то необычным; следует ожидать, что это будет происходить время от времени.
Я полагаю, что большинство поставщиков услуг электронной почты (отказ от ответственности: я работаю только с ОДНИМ) будут чаще делать временные сбои для отправителей с "плохой репутацией". Мы делаем это, чтобы выборочно расставлять приоритеты для ресурсов для чистой(более) почты. Если ваш сервер сумел получить плохую репутацию своего IP-адреса, это, вероятно, означает, что сообщения классифицируются как спам, отправленные либо вашим приложением, либо чем-то другим с того же IP-адреса.
Вам ОБЯЗАТЕЛЬНО следует следить за своими почтовыми очередями. Возможно, вам следует провести аудит отдельных доставок, чтобы вы могли отслеживать их.
Если вы видите большое количество сообщений, ожидающих доставки, то это указывает на какую-то ошибку — либо на почтовом сервере получателя, либо на то, что они каким-то образом заносят вашу почту в черный список или снижают ее приоритет.
То, как именно вы это сделаете, зависит от конкретного приложения.
В этом конкретном случае вам следует обратиться в службу поддержки Yahoo, при условии, что вы точно не рассылаете им спам (и никто другой с того же IP-адреса этого не делает).
решение3
Похоже, у вас здесь две проблемы:
- Что в данный момент происходит с вашей почтовой системой?
- Как гарантировать, что проблема не повторится в будущем
В пункте №1 я бы провел следующие проверки:
- Я бы настроил ваш сервер на прием почты. Системы, которые не могут принимать рикошеты и, по всей видимости, работают только в режиме широковещания, часто могут быть помечены как спам.
- проверьте свои записи MX, а также проверьте, не находитесь ли вы в черном списке -mxtoolbox.com
- проверьте свои записи RDNS наwww.dnscolos.com.
- Я бы добавил DomainKeys на ваш почтовый сервер.
- Я рекомендую ДОБАВИТЬ запись SPF. Это может снизить ваш рейтинг «спамности» и может помешать спам-хостам отправлять почту с вашего домена.
- Отправить электронное письмо[email protected]. Они ответят отчетом с различными проверками на спам.
WRT #2, я бы предложил включить прозрачный gif или специально помеченный логотип в ваше электронное письмо, которое будет «звонить домой», обратно на ваш сервер. Да, это означает, что вам нужно отправить электронное письмо в формате HTML, и да, некоторые клиенты по умолчанию блокируют получение изображений в электронных письмах, однако вы быстро увидите свои обычные показатели ответов и сможете определить, снизились ли они. Если у вас есть высокоценные клиенты, и вы видите, что они могли не получить ваш ответ, вы можете заранее позвонить им.
решение4
Вам также следует убедиться, что ваш почтовый сервер правильно идентифицирует себя (как mail.yourapp.com или как-то так) и что существует запись PTR, связывающая этот IP с этим именем.
Кроме того, вы можете добавить запись SPF, разрешающую этому IP/серверу отправлять почту для вашего домена, так что он, по крайней мере, также получит SPF:Pass.