Назад | Перейти на главную страницу

Исправление опечаток в адресах электронной почты, вводимых пользователями

Время от времени мы видим несколько доменов с опечатками в нашей очереди почты, и я подумывал об использовании нашего внутреннего 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 и ОБЯЗАТЕЛЬНО используется для проверки адресов электронной почты.

Обычно таких писем даже не должно быть в очереди:

  1. Если домен не существует, почта должна немедленно отскочить (время, чтобы немедленно удалить пользователя).
  2. Если домен разрешается, но доходит до несуществующего пользователя, почта немедленно возвращается (время, чтобы удалить пользователя).
  3. Если домен разрешается, но сервер временно откладывает отправку почты, вы не можете решить, будет ли почта доставлена ​​позже или это недействительный адрес (пора ждать варианта 2 или 4)
  4. Если домен разрешен и пользователь действителен, почта будет доставлена ​​мгновенно (время ждать подтверждения, но почта находится вне очереди)

Я согласен с ChrisF относительно ложных срабатываний. В последнее время я работал с адресами электронной почты, извлеченными из нашей ERP-системы, и столкнулся со многими проблемами. Например, один из наших основных интернет-провайдеров - Optus. Насколько я помню, основываясь только на том, что не было восстановлено, их почтовые домены могут быть любыми из

  • optusnet.net
  • optusnet.com
  • optus.com.au
  • optus.net.au
  • optusnet.net.au
  • optusnet.com.au

... и, возможно, другие, о которых я не знаю.

Если я увижу недействительный, но похоже, что это должен быть адрес Optus, могу ли я просто догадываться, какой из них правильный? В конце концов, это может быть любой из них или ни один из них.

Я вижу, что вы пытаетесь сделать, но я бы не стал этого делать на уровне DNS. Почему бы вам просто не написать скрипт / код в приложении?

Сверьтесь со списком и попросите посетителя подтвердить доменное имя. Это ошибка пользователя, а не проблема сервера.

У нас есть функция проверки электронной почты, которая проверяет, есть ли в доменном имени для адреса электронной почты запись MX. Помогает предотвратить опечатки, а также значительно снизить объем спама.