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

Как ловить письма на поддоменах

Я создаю веб-сайт, который использует субдомен как часть своего имени, например действительно. круто. пример (очевидно, не на самом сайте) и действительно@cool.example в качестве адреса электронной почты поддержки / контакта.

Веб-сайт размещен на Linode, и я использую Linode для управления DNS. Почтовый сервер находится у какого-то провайдера cPanel в другом месте.

Итак, вышесказанное работает.

Сейчас я хочу перехватывать электронные письма, отправленные на неправильный адрес в моем домене. Я установил "электронную почту по умолчанию" на cPanel для пересылки на действительно@cool.example, и это работает для писем вроде XYZ@cool.example

Мне нужна помощь, чтобы записать электронные письма, чтобы сказать support@really.cool.example Это вполне понятная ошибка, которую могут совершить пользователи.

Если я отправлю электронное письмо на support@idontexist.cool.example, Я возвращаюсь в норму. Однако, если я отправлю его support@really.cool.example он просто исчезает в эфире, предположительно потому, что подобласть действительно имеет рекорд А.

Вопрос в том, как это поймать?

В конце концов я хочу перенаправить все эти домены на действительно. круто. пример:

Потому что это то, что пользователи, скорее всего, напечатают случайно, но еще не сделали этого (я считаю, что есть несколько способов сделать это?)

Что я хотел бы знать:

  1. Как я ловлю письма на support@really.cool.example
  2. Какое влияние окажут на адрес электронной почты перенаправления, которые я планирую установить (нарушит ли это то, что у меня уже есть, или даже разрешит подстановочный знак электронной почты?)

(Обычно я пытаюсь выяснить это сам, но с DNS невыносимо не знать, ошибочны ли они или просто не распространяются, особенно если я собираюсь пробовать несколько перестановок).

РЕДАКТИРОВАТЬ: для уточнения:

  1. Я хочу, чтобы все захваченные электронные письма попадали на один адрес действительно@cool.example (который уже улавливает большинство неправильных писем) не то чтобы я понимаю, почему это так же важно, если я могу поймать его на другом адресе электронной почты, например. catch-all@really.cool.example тогда я могу их просто переслать.
  2. Я не знаю, где в процессе я хочу их поймать, пока я их ловлю, и я открыт для предложений, касающихся промежуточных адресов электронной почты или выполнения каких-либо действий на сервере поддомена, если моя цель не может быть достигнута только с помощью настроек DNS.

Просто: установите запись MX для real.cool.website и в каждом другом субдомене у вас действительно есть запись A / AAAA или CNAME для указания на сервер cPanel (и убедитесь, что он обрабатывает эту почту)

Для всего остального, что вы хотите уловить (например, орфографических ошибок), вы можете добавить запись MX с подстановочными знаками, также указывающую на этот сервер cPanel (снова убедившись, что он действительно справится с этим).

Вам необходимо добавить явные записи MX для каждого имени, для которого у вас есть записи DNS, поскольку подстановочные знаки MX не совпадают, если у вас есть другие записи (см. этот вопрос и ответ.

Конечно, все это предполагает, что вы хотите, чтобы ваш основной почтовый сервер действительно обрабатывал всю почту.

Все, что сказано: IMHO, вы должны действительно принимать почту только для реальных доменов, для которых вы хотите иметь почту - пусть неправильно написанные и иначе недействительные адреса отскакивают, чтобы пользователи знали о своей ошибке.

Также обратите внимание: любой вопрос о вашем почтовом сервере cPanel (например, как заставить его обрабатывать поддомены) будет не по теме и здесь не приветствуются.

Я отвечаю на свой вопрос (но принимаю ответ Свена), поскольку это еще не все, и понимание этого может помочь другим.

Учитывая домен круто. пример с записью A для поддомена действительно. круто. примери запись MX для круто. пример что произойдет, так это:

  • электронные письма contact@idontexist.cool.example прийти в норму мгновенно
  • электронные письма contact@really.cool.example "кажется" исчезают без возврата

Но на самом деле происходит то, что электронные письма отправляются на contact@really.cool.example в конечном итоге приведет к сообщению «сбой доставки», но только после нескольких дней попыток, что при тестировании может создать впечатление, что они ни к чему не привели.

Это потому, что субдомен idontexist.cool.example не может быть найден вообще, поэтому приводит к немедленному восстановлению, тогда как действительно. круто. пример обнаружен (из-за записи A), но не может обрабатывать почту (из-за отсутствия записи MX), поэтому почтовая служба продолжает попытки в течение нескольких дней.

Решение, как указывают @Sven и @Michael Hampton, состоит в том, чтобы создать запись MX для любого поддомена, для которого вы хотите перехватывать почту (помните, что подстановочные знаки MX не совпадают, если у вас есть другие записи, что очень вероятно, если ваш сайт полностью находится в субдомене, поэтому вам необходимо создать явные записи MX).

@Sven также говорит:

вы должны действительно принимать почту только для реальных доменов, для которых вы хотите получать почту - пусть неправильно написанные или недействительные адреса возвращаются, чтобы пользователи знали о своей ошибке.

Я согласен с этим, но проблема в том, как долго пользователь должен ждать, чтобы его проинформировали об ошибке, что в случае электронного письма, отправленного на поддомен, для которого есть запись A / CNAME, но нет записи MX. быть несколько дней, что, вероятно, неприемлемо.

Чтобы обойти это, вы можете:

  1. Создайте NULL MX-запись для поддомена (предпочтение равно 0 и указывает на «.»), Которая вызовет немедленный возврат, но не все поставщики DNS или их интерфейсы * позволяют это сделать.
  2. Создайте запись MX, указывающую на почтовый сервер, настроенный на отправку автоматического ответа, чтобы пользователь не зависал в течение нескольких дней.

*например. на момент написания веб-интерфейс Linode не позволял этого, но кажется возможным добиться этого с помощью инструмента Linode CLI.