У меня есть домен, и этот домен использует другой из моих доменов для обработки почты. У меня проблемы с настройкой таким образом, чтобы все почтовые клиенты хорошо играли с моими доменами.

С точки зрения foo и bar , foo.com - мой "основной" сервер:

  • foo.com мой почтовый сервер
  • foo.com: запись MX => IP-адрес
  • mail.foo.com: запись MX => IP-адрес
  • mail.foo.com: запись => IP-адрес

И bar.com мой домен, который использует foo.com:

  • bar.com: запись MX => mail.foo.com
  • mail.bar.com: MX record => mail.foo.com

Я не могу добавить следующее для mail.bar.com:

  • mail.bar.com: запись CNAME => mail.foo.com

Когда я пытаюсь ввести запись CNAME, чтобы некоторые почтовые клиенты могли подключиться через mail.bar.com , я получаю сообщение об ошибке:

Duplicate subdomains are not allowed between these record types: MX; CNAME

По сути, ошибка говорит, что я не могу иметь:

  • mail.bar.com: MX record => mail.foo.com
  • mail.bar.com: запись CNAME => mail.foo.com

Я не совсем понимаю сообщения об ошибках, потому что записи ресурсов определяют разные сервисы. Люди, пытающиеся отправить электронную почту на домены, будут использовать записи MX; в то время как люди, пытающиеся получить свою электронную почту, будут использовать запись CNAME.

Я посмотрел на RFC 1035, но не вижу, где стандарт запрещает комбинацию. Я также пытался следовать некоторым из обновленных RFC, но многие из них не относились к реализации базовой услуги.

Являются ли MX и CNAME взаимоисключающими? Если да, есть ли где-нибудь ссылка?


Вот связанный вопрос: Не удается настроить учетную запись с помощью Thunderbird (неправильная настройка учетной записи почты). Thunderbird отказывается разрешить мне создать учетную запись. Я пытаюсь настроить DNS, добавив CNAME, чтобы посмотреть, поможет ли это.

2 ответа2

2

Являются ли MX и CNAME взаимоисключающими? Если да, есть ли где-нибудь ссылка?

Запись CNAME отображает имя на другое имя. Его следует использовать только в том случае, если для этого имени нет других записей (MX, A и т.д.). (RFC 1034, раздел 3.6.2, RFC 1912, раздел 2.4).

Из RFC 1912 с. 2,4:

Запись CNAME не может сосуществовать с любыми другими данными. Другими словами, если suzy.podunk.xx является псевдонимом для sue.podunk.xx, вы также не можете иметь запись MX для suzy.podunk.edu, запись A или даже запись TXT.

1

Это довольно запутано. Давай открутим это.

Во-первых, ваш почтовый сервер не должен называться foo.com, вы почти наверняка захотите, чтобы присоединенная к нему запись A шла на ваш веб-сервер, а не на ваш почтовый сервер. И это нормально, поскольку вы настраиваете адреса электронной почты user@foo.com используя записи MX, для этого они и нужны.

Я предполагаю, что вы позвоните и настроите свой почтовый сервер, чтобы он называл себя mail.foo.com , то есть это будет полное имя хоста. Затем вы можете настроить его в качестве конечного пункта назначения для почты, отправляемой на user@foo.com а также для отправки электронной почты (отправителей) с использованием того же домена. Позже вы также можете настроить его как конечный пункт назначения для почты user@bar.com , но пока держите его.

Итак, что вам нужно в DNS для этого:

foo.com.   IN MX  10 mail.foo.com.
mail.foo.com.  IN A  12.12.12.12

(конечно, замените 12.12.12.12 реальным IP-адресом вашего почтового сервера)

Вам также нужно будет договориться о том, чтобы ваш хостинг-провайдер поместил запись PTR (запись обратного сопоставления), которая 12.12.12.12 обратным образом сопоставляет имя вашего почтового сервера (mail.foo.com).

И это все, что вам нужно в DNS для работы почты.

Если вы хотите, чтобы ваш почтовый сервер принимал почту для user@bar.com . все, что вам нужно сделать, это добавить еще одну запись MX, прикрепленную к домену bar.com, отправляющую почту на ваш почтовый сервер, например:

bar.com.   IN MX  10 mail.foo.com.

А затем, конечно, настройте почтовую программу на конечный пункт назначения почты bar.com.

Просто как тот. Это оставляет записи A, прикрепленные к foo.com и bar.com, доступными для указания на веб-серверы.

Последний шаг - добавление записей политики отправителей (SPF), чтобы вы могли указать, кто является авторизованными отправляющими почтовыми программами (MTA) для обоих этих доменов. Вы бы добавили записи TXT, как это:

foo.com.  IN TXT  "v=spf1 mx -all"
bar.com.  IN TXT  "v=spf1 mx -all"

Вы можете пойти дальше и настроить / настроить DKIM, но это включает ключи и подпись, так что это немного сложнее. Google ваш друг для этого.

Надеюсь, это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .