Время от времени мы видим несколько доменов с опечатками в нашей очереди почты, и я подумывал об использовании нашего внутреннего DNS-сервера, чтобы исправить ошибки этих людей.
Некоторые примеры из текущей почтовой очереди:
g-mail.com
hotail.com
hotmai.com
hotmaiil.com
hotmal.com
htomail.com
rediffmai.com
yahii.com
Вышеупомянутые домены не имеют записей MX, но легко понять, что имел в виду пользователь, когда вводил их.
Рассматриваемые электронные письма часто представляют собой электронные письма с подтверждением регистрации, поэтому пользователь не может войти в систему и исправить свой собственный адрес электронной почты, а выполнение задания cron, которое исправляет его в базе данных, не отправит письмо с подтверждением снова.
Настройка нашего внутреннего DNS для разрешения этих запросов MX на правильные адреса Hotmail, Gmail или Yahoo (или любые другие), скорее всего, приведет к тому, что письма попадут в правильный почтовый ящик. Задание cron также может исправить их адрес электронной почты в базе данных.
Лучшим решением было бы выполнить поиск MX в коде регистрации / подтверждения по электронной почте на веб-сервере, чтобы мы могли выдать пользователю сообщение об ошибке, пока он еще находится на сайте, но я системный администратор и не могу получить время разработки одобрено для этого.
Может ли кто-нибудь увидеть какие-либо потенциальные проблемы с перенаправлением электронных писем с опечатками с помощью DNS?
Обновить:
Я подумал о проблеме, которая потенциально сводит на нет всю эту идею. Предполагая, что мы исправляем опечатки доменов с помощью DNS, при подключении к целевому почтовому серверу мы собираемся (в какой-то момент) сказать:
RCPT TO: <fat-fingered-user@hotmal.com>
И сервер Hotmail, вероятно, отклонит его, потому что они не принимают электронную почту для hotmal.com и не ретранслируют почту для меня. Проблема в том, что мы не зафиксировали адрес. Все, что мы сделали, это указали нашему MTA на правильный сервер, как если бы у нас был правильный адрес.
Я также нашел этот архив списка рассылки который имеет другое решение для доменов опечаток. Это не решает мою проблему с информированием пользователей, но очень быстро выводит почту из моей очереди.
Самой большой проблемой будут ложные срабатывания, то есть те опечатки, которые вы исправляете не в том домене.
Используя опечатку, которая, вероятно, не произойдет, вы можете получить:
gotmail.com
вы измените это на
hotmail.com
или
gmail.com
Пользователь мог иметь в виду то же самое.
Гораздо проще просто вернуть их пользователю с сообщением «домен не распознан» и позволить им внести исправления.
Я не вижу проблемы, которую вы пытаетесь решить. Вы хотите отправить подтверждения регистрации. Но поскольку вы не можете отправлять подтверждения регистрации на несуществующие домены, регистрация не будет. Все нормально. Отбросьте пользователя, которого не удалось подтвердить, и позвольте ему снова зарегистрироваться. Вот как это бывает. Это называется Double-Opt-In и ОБЯЗАТЕЛЬНО используется для проверки адресов электронной почты.
Обычно таких писем даже не должно быть в очереди:
Я согласен с ChrisF относительно ложных срабатываний. В последнее время я работал с адресами электронной почты, извлеченными из нашей ERP-системы, и столкнулся со многими проблемами. Например, один из наших основных интернет-провайдеров - Optus. Насколько я помню, основываясь только на том, что не было восстановлено, их почтовые домены могут быть любыми из
... и, возможно, другие, о которых я не знаю.
Если я увижу недействительный, но похоже, что это должен быть адрес Optus, могу ли я просто догадываться, какой из них правильный? В конце концов, это может быть любой из них или ни один из них.
Я вижу, что вы пытаетесь сделать, но я бы не стал этого делать на уровне DNS. Почему бы вам просто не написать скрипт / код в приложении?
Сверьтесь со списком и попросите посетителя подтвердить доменное имя. Это ошибка пользователя, а не проблема сервера.
У нас есть функция проверки электронной почты, которая проверяет, есть ли в доменном имени для адреса электронной почты запись MX. Помогает предотвратить опечатки, а также значительно снизить объем спама.