Использование электронной почты с Heroku и CNAME

Я занимаюсь настройкой записей MX в размещенном на HEROKU приложении, и у меня возникают проблемы.

У меня есть две установки CNAME:

@ myapp.herokuapp.com
www myapp.herokuapp.com

Сайт работает отлично, как описано выше. Теперь я пытаюсь добавить поддержку по электронной почте, добавив записи Google MX.

@ ASPMX.L.GOOGLE.COM.  MX 10 1800  

- а также четыре других отскока MX -

Google Apps заявляет, что не может читать записи MX. Это потому, что они противоречат записи @CNAME? Если это так, я должен отказаться от этого метода и использовать метод "Голый домен" (вместо установки трех записей A). Heroku заставляет это звучать так, как этот метод сильно обескуражен против CNAME для "@" не WWW.

Спасибо за помощь!

Ответ 1

Я нашел, что лучший способ сделать это - использовать функцию переадресации 301 Google Apps "Голый домен", как описано в https://support.google.com/a/answer/2518373?hl=en

1) Перейдите в Консоль администратора - Домены - Изменить голый редирект

2) Перенаправление на WWW.your_domain.com

3) Вы настроите 4 A-Records в своем DNS, указав свой your_domain.com на

  • 216.239.32.21
  • 216.239.34.21
  • 216.239.36.21
  • 216.239.38.21

Теперь, когда кто-то указывает на ваш_домен .com, он получает 301, перенаправленный на WWW.your_domain.com Это, кстати, так же, как gooogle.com ведет себя (301 переадресовать на www.google.com)

HT: http://smallchou.com/post/41388058201/heroku-and-root-aka-apex-or-naked-domains

Ответ 2

Видимо, они конфликтуют. Из Героку:

Hi, you can't have CNAME entries on the zone apex. 
You'll need to do the A records setup, or use a DNS provider that 
supports ALIAS/ANAME records (DNSimple, DNS Made Easy, Route 53).

Удаление CNAME и замена его записью A, казалось, работало - через несколько минут Google собрал записи MX.

Конечная настройка была единственным WWW CNAME, указывающим на myapp.herokuapp.com. и три записи A, каждая из которых указывает на один из IP-адресов, обозначенных Heroku.

Ответ 3

Я просто боролся с чем-то вроде этого. Когда я переключился на Heroku, я добавил CNAME, чтобы указать мой корневой домен (my_domain.com) на герою, и эта ссылка, я думаю, переадресует все и убивает ваши записи MX для электронной почты, так что я решил, что вместо этого укажу только мой субдомен www к heroku через запись cname (www.my_domain.com), а затем я добавил ссылку, пересылающую мой корневой домен (my_domain.com) в мой поддомен (www.my_domain.com). Затем мои записи MX работали снова, но мне пришлось подождать несколько часов, чтобы он начал работать (к счастью, я сдался и лег спать, а затем утром понял, что это сработало). Чтобы указать корень в субдомен www, у моего провайдера доменных имен был параметр, называемый указателями, а выбранные мной параметры были "стандартными", "URL" и "www.my_domain.com"

Затем, чтобы заставить SSL работать, мне пришлось добавить перенаправление в код веб-сервера backend для перенаправления http на https, так что теперь, если вы наберете my_domain.com, он перенаправляется на www.my_domain.com, а затем перенаправляется на https. my_domain.com, так что сумасшедший, но он работает очень быстро, поэтому я думаю, это хорошо.

Ответ 4

Если ваш DNS-провайдер поддерживает ALIAS (Namecheap теперь поддерживает), вы можете легко получить как электронную почту (MX, TXT records), так и использовать голый URL (example.com, а не www.example.com) с heroku.

Вместо выбора типа записи CNAME выберите ALIAS. Пример namecheap для расширенной строки DNS будет выглядеть так:

(Type)            (Host)           (Value)                                (TTL)
ALIAS Record      @                heroku-weird-dns-target.herokudns.com  5 min

Алиас будет играть вместе с TXT и MX.