Меня учат использовать PostFix для создания личной междоменной почтовой службы.
Я застрял на этом некоторое время, но ... вот что происходит. В этом случае DNS и почтовые серверы, а также места назначения находятся в одном месте. Две виртуальные машины, подключенные через локальную сеть, которые решают свои имена DIG / nslookup.
Если я попытаюсь отправить на тот же домен / машину
Feb 11 12:32:58 mx1 postfix/cleanup[3109]: A94C7C8BF9: message-id=<20190211113258.A94C7C8BF9@mx1.mailantonio.com>
Feb 11 12:32:58 mx1 postfix/qmgr[1176]: A94C7C8BF9: from=<test2@mx1>, size=346, nrcpt=1 (queue active)
Feb 11 12:32:58 mx1 postfix/local[3111]: A94C7C8BF9: to=<test3@mailantonio.com>, relay=local, delay=0.2, delays=0.19/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Feb 11 12:32:58 mx1 postfix/qmgr[1176]: A94C7C8BF9: removed
Электронное письмо получено, но его нет в Maildir
Когда я пытаюсь отправить на другой домен
Feb 11 12:33:32 mx1 postfix/pickup[1175]: 368FDC8BFC: uid=1001 from=<test2@mx1>
Feb 11 12:33:32 mx1 postfix/cleanup[3109]: 368FDC8BFC: message-id=<20190211113332.368FDC8BFC@mx1.mailantonio.com>
Feb 11 12:33:32 mx1 postfix/qmgr[1176]: 368FDC8BFC: from=<test2@mx1>, size=334, nrcpt=1 (queue active)
Feb 11 12:33:32 mx1 postfix/local[3111]: 368FDC8BFC: to=<test@mailgarcia.com>, relay=local, delay=0.13, delays=0.1/0/0/0.03, dsn=5.1.1, status=bounced (unknown user: "test")
Feb 11 12:33:32 mx1 postfix/cleanup[3109]: 4039EC8BFA: message-id=<20190211113332.4039EC8BFA@mx1.mailantonio.com>
Feb 11 12:33:32 mx1 postfix/qmgr[1176]: 4039EC8BFA: from=<>, size=2204, nrcpt=1 (queue active)
Feb 11 12:33:32 mx1 postfix/bounce[3128]: 368FDC8BFC: sender non-delivery notification: 4039EC8BFA
Feb 11 12:33:32 mx1 postfix/qmgr[1176]: 368FDC8BFC: removed
Feb 11 12:33:32 mx1 postfix/smtpd[3131]: connect from localhost[127.0.0.1]
Feb 11 12:33:32 mx1 postfix/smtp[3130]: warning: host mx1[127.0.1.1]:25 greeted me with my own hostname mx1.mailantonio.com
Feb 11 12:33:32 mx1 postfix/smtp[3130]: warning: host mx1[127.0.1.1]:25 replied to HELO/EHLO with my own hostname mx1.mailantonio.com
Feb 11 12:33:32 mx1 postfix/smtp[3130]: 4039EC8BFA: to=<test2@mx1>, relay=mx1[127.0.1.1]:25, delay=0.04, delays=0.01/0.01/0.03/0, dsn=5.4.6, status=bounced (mail for mx1 loops back to myself)
Feb 11 12:33:32 mx1 postfix/qmgr[1176]: 4039EC8BFA: removed
Feb 11 12:33:32 mx1 postfix/smtpd[3131]: disconnect from localhost[127.0.0.1] ehlo=1 quit=1 commands=2
Почта не отправляется, потому что перенаправляется на собственное полное доменное имя?
Они оба находятся в одной локальной сети. Машина Mx1 находится в домене 10.0.0.1-> mailantonio.com. Машина Mx2 - это 10.0.0.2-> mailgarcia.com
Вот файлы конфигурации постфикса. Честно говоря, я в растерянности, и какое-то время искал, что может быть не так ... MX1
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mx1.mailantonio.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost $mydomain, mx2,mailgarcia.com, mailgarcia.com, mx2
relayhost =
mynetworks = 10.0.0.0/24
mailbox_size_limit = 0
recipient_delimiter =
default_transport = smtp
relay_transport = smtp
relay_domains = mailgarcia.com
inet_interfaces = all
inet_protocols = ipv4
MX2
See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mx2.mailgarcia.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, mx1.mailantonio.com, mailantonio.com, mx1
relayhost =
mynetworks = 10.0.0.0/24
mailbox_size_limit = 0
recipient_delimiter =
default_transport = smtp
relay_transport = smtp
relay_domains = mailantonio.com
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
Создаются каталоги Maildir, содержащие cur, new и tmp для каждого пользователя ... Я использую linux mint, который основан на Ubuntu. Насколько мне известно, конфигурации должны быть такими же. Установлены Courier IMAP и POP.
Ответ на ответ.
Конфигурация MX1
mydomain = mailantonio.com
myorigin = $mydomain
mydestination = $myhostname, mx1.$mydomain, $mydomain, mx2.mailgarcia.com, mailgarcia.com, mx2
Конфигурация MX2
mydomain = mailgarcia.com
myorigin = $mydomain
mydestination = $myhostname, mx2.$mydomain, $mydomain, mx1.mailantonio.com, mailantonio.com, mx1
Теперь отправка на себя работает. Однако кросс-домен все еще ненадежен.
LOG Postfix
Feb 11 16:03:51 mx1 postfix/smtp[3007]: 6AF41C8BC8: to=<test2@mx1>, relay=none, delay=0.03, delays=0/0.01/0.01/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=mx1 type=MX: Host not found, try again)
Отправляя сообщение как test3 с машины mx1.mailantonio.com на test@mailgarcia.com, нужно ли мне удалять саморегулирующиеся пункты назначения в конфигурациях?
Вы используете mydestination = localhost. $ Mydomain. Это не хорошо. Используйте mx2./mx1. вместо localhost.
В выложенных вами конфигах нет mydomain. Это тоже может быть проблематично. Вы должны добавить mydomain = yournames.com в оба конфига.
Если myhostname, mydomain и mydestination неверны, вы можете получить проблему обратной петли.