Уже 2 дня пытаюсь разобраться с ответом на эту проблему.
У меня где-то есть виртуальный сервер и установлен postfix / dovecot / mysql. Как-то работает. Я могу войти в Outlook с созданной учетной записью MySQL.
Но я не могу отправлять или получать электронные письма. Я всегда получаю такие ответы:
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its recipients.
This is a permanent error. The following address failed:
"user1@mydomain.com":
no valid MX hosts found
И
'savingbambi@notmydomain.com' am 21.11.2014 15:22
Server error: "554 5.7.1 <savingbambi@notmydomain.com>: Relay access denied"'
Я изменил named.conf.options и добавил новый файл зоны. Я создал файл зоны и добавил MX-запись. В общем, внесенные мной изменения вроде ни на что не влияют.
Мой файл зоны выглядит так:
$TTL 604800
@ IN SOA mail.mydomain.com. (
1
10800
3600
604800
38400)
IN MX 10 mail.mydomain.com.
@ IN A 46.38.124.67
mail. IN A 46.38.124.67
Мои named.conf.options
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on {any;};
listen-on-v6 { any; };
};
zone "mail.mydomain.com" {
type master;
file "/etc/bind/db.mail.mydomain.com";
};
Несмотря на то, что я настраиваю или делаю. Я всегда получаю один и тот же результат с помощью dig (например, если данные поступают из другого места, а не из моего файла зоны):
; <<>> DiG 9.9.5-3-Ubuntu <<>> mail.mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7485
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.mydomain.com. IN A
;; ANSWER SECTION:
mail.mydomain.com. 6516 IN A 46.38.124.67
;; AUTHORITY SECTION:
mydomain.com. 63046 IN NS dns1.kontent.com.
mydomain.com. 63046 IN NS dns2.kontent.com.
;; ADDITIONAL SECTION:
dns1.kontent.com. 505 IN A 81.88.34.28
dns2.kontent.com. 1575 IN A 81.88.40.11
;; Query time: 2 msec
;; SERVER: 46.38.225.230#53(46.38.225.230)
;; WHEN: Fri Nov 21 19:14:13 CET 2014
;; MSG SIZE rcvd: 147
Могут ли некоторые другие файлы зоны (db.0, db.127, db.255, db.empty, db.local, db.root) перезаписать мою конфигурацию?
Пожалуйста помоги. Я не эксперт (очевидно :-() в этом контексте.
ОБНОВИТЬ Запуск named-checkconf -zj:
dns_rdata_fromtext: /etc/bind/db.mail.branchconcept.de:7: near eol: unexpected end of input
/etc/bind/db.mail.branchconcept.de:8: ignoring out-of-zone data (branchconcept.de)
zone mail.branchconcept.de/IN: loading from master file /etc/bind/db.mail.branchconcept.de failed: unexpected end of input
zone mail.branchconcept.de/IN: not loaded due to errors.
_default/mail.branchconcept.de/IN: unexpected end of input
zone localhost/IN: loaded serial 2
zone 127.in-addr.arpa/IN: loaded serial 1
zone 0.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1
Мой файл зоны выглядит на самом деле (после некоторых попыток и с реальными значениями):
$TTL 604800
@ IN SOA mail.branchconcept.de. (
2011091202
10800
3600
604800
38400)
branchconcept.de. IN MX 10 mail.branchconcept.de.
Я добавил эти записи своим интернет-провайдером, но это не помогает:
*.branchconcept.de DNS A-Record 46.38.232.105
branchconcept.de DNS MX-Record (Priorität: 10) mail.branchconcept.de
*.branchconcept.de DNS-AAAA-Record 2002:2E26:E869:0:0:0:0:0
Возможно, я спрошу: Данные Postfix и Dovecot установлены на сервере с доменным именем domain.com. Как я,
Я определил поддомен mail.domain.com, потому что думал, что это нужно определить. Это дело? Или это не обязательно, и мне нужно определить файл зоны только для domain.com, как прокомментировал @Shane? Я схожу с ума, потому что понятия не имею.
Несмотря на то, что я настраиваю или делаю. Я всегда получаю один и тот же результат с помощью dig (например, если данные поступают из другого места, а не из моего файла зоны):
В вашем выводе я заметил, что у вас есть 2 DNS-сервера.
;; AUTHORITY SECTION:
mydomain.com. 63046 IN NS dns1.kontent.com.
mydomain.com. 63046 IN NS dns2.kontent.com.
Сервер вашего домена настроен на использование dns1 / 2.kontent.com, а не вашу конфигурацию. Обновите конфигурацию тех DNS-серверов, на которых вы купили доменное имя, или переключите его на свой собственный сервер имен.
*.branchconcept.de DNS A-Record 46.38.232.105
branchconcept.de DNS MX-Record (Priorität: 10) mail.branchconcept.de
*.branchconcept.de DNS-AAAA-Record 2002:2E26:E869:0:0:0:0:0
Вы также должны добавить записи A и AAAA для основного имени домена. не только * .domainname.ext.
немного не по теме, но несколько рекомендаций для вас. Для используемого IP-адреса не установлен обратный указатель IP. Рекомендуется установить один, см. Это интернет сайт для некоторой предыстории того, что это такое.
Во-вторых, чтобы уменьшить вероятность того, что ваша почта будет заблокирована или помечена как спам, или люди, подделывающие ваше доменное имя, рекомендуется установить запись spf, в которой перечислены IP-адреса, с которых разрешено отправлять электронные письма из-под вашего домена. Это можно сделать с помощью простой записи ТЕКСТ в настройках сервера имен.
text = "v=spf1 ip4:1.2.3.4 ip6:abcd:ef12:34:5678::/128 ~all"
Вам также необходимо установить запись A для вашего доменного имени. Прямо сейчас www.yourdomain.com будет преобразован в IP, а yourdomain.com - нет. Создайте запись A и AAAA с вашими IP-адресами с именем @ или branchconcept.de.
Кроме того, для вашего DNS TTL установлено значение 1 день. Это означает, что для внесения любых изменений в запись потребуется целый день, прежде чем она будет полностью обновлена для клиентов (это может объяснить, почему у вас все еще возникают проблемы прямо сейчас, я бы рекомендовал немного меньше, возможно, 1 час?).
Что касается вашего файла зоны, это будет действительным, однако ваше доменное имя по-прежнему указывает на DNS-серверы kontent.com.
$ORIGIN mydomain.com.
$TTL 1h
@ IN SOA mydomain.com admin.mydomain.com. (2014111401 1d 2h 4w 1h )
mydomain.com. IN NS ns.mydomain.com.
mydomain.com. IN A 46.38.124.67
mydomain.com. IN AAAA 2002:2E26:E869:0:0:0:0:0
ns.mydomain.com. IN A 46.38.124.67
ns.mydomain.com. IN AAAA 2002:2E26:E869:0:0:0:0:0
mydomain.com. IN MX 10 mail.mydomain.com.
mail IN A 46.38.124.67
mail IN AAAA 2002:2E26:E869:0:0:0:0:0
*.mydomain.com. IN A 46.38.124.67
*.mydomain.com. IN AAAA 2002:2E26:E869:0:0:0:0:0
Изменить: Еще немного исследования, ваш SMTP-сервер, похоже, не принимает соединения. Убедитесь, что: - Ни один брандмауэр не блокирует подключения к порту 25 - проверьте файл конфигурации постфикса и найдите inet_interfaces.
Убедитесь, что он привязан не только к localhost, но и к вашим адресам ipv4 и ipv6.
Что касается дальнейшей настройки, проверьте свой получение доменов (mydestination в файле конфигурации postfix) и имя домена, которое вы отправить электронное письмо от по умолчанию.
Обновление 22-ноя-14 Сам попробовал установить postfix. Я сделал следующее:
yum install postfix -y
Затем я отредактировал файл конфигурации постфикса:
Изменил inet_interfaces на мой публичный ip, чтобы к нему можно было получить доступ извне. SMTP с использованием mxtoolbox на этом этапе работал на ip.
Я добавил следующие записи DNS:
mydomain.com mx priority 10 mail.mydomain.com
mail.mydomain.com A MY_IP
Теперь отправка почты с помощью telnet работала нормально, однако я не мог получать электронную почту с другого сервера или Gmail. Посмотрев на адрес, к которому подключался sendmail, я обнаружил, что он использует A-запись mydomain.com. Итак, после добавления A-записи mydomain.com к моему IP-адресу почтового сервера я смог получать электронные письма.
Поскольку ваши записи MX верны и ваш почтовый сервер теперь доступен, последнее, что вам нужно сделать, это добавить запись A для branchconcept.de к IP-адресу вашего сервера. Тогда это должно сработать.
Я попытался протестировать ваш почтовый сервер, но он сказал, что нет известного пользователя для root или для электронной почты, указанной на вашем веб-сайте (с использованием домена @ branchconcept.de). Возможно, вы захотите проверить, настроены ли у вас пользователи.
Короче говоря, на этом этапе вы должны сделать 2 вещи:
При необходимости вы можете протестировать / отладить доставку почты с другого Linux-сервера с помощью sendmail.
sendmail -v username@yourdomain.com < message.txt
где message.txt
Subject: Testing smtp.
MIME-Version: 1.0
Content-Type: text/plain
Hi there, just testing.
Надеюсь, что это помогает и удачи!