У меня есть свежая установка postfix на сервере Ubuntu 14.04, но все отправленные мной тестовые электронные письма содержат имя хоста в адресе электронной почты. Я искал и нашел довольно много людей с той же проблемой, но ни одно из их решений не сработало / не применилось ко мне. Я пробовал варианты из различных руководств, но, похоже, не получил тех же результатов, что и они.
Мой /etc/postfix/main.cf:
mydomain = example.com
myorigin = example.com
smtpd_banner = $mydomain ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
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
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = merlin.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname localhost.$mydomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
Мой файл / etc / hosts:
127.0.0.1 localhost
XX.XX.XX.XX merlin.example.com merlin
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Пример заголовка полученного письма:
Delivered-To: xxx@gmail.com
Received: by 10.107.173.142 with SMTP id m14csp624755ioo;
Sun, 3 Apr 2016 01:12:36 -0700 (PDT)
X-Received: by 10.66.101.35 with SMTP id fd3mr43641306pab.7.1459671156649;
Sun, 03 Apr 2016 01:12:36 -0700 (PDT)
Return-Path: <user@merlin.example.com>
Received: from merlin.example.com (xxx-89-xx-64.xxx.xxx.xx.xx. [xxx.89.xx.64])
by mx.google.com with ESMTP id n69si18026934pfi.104.2016.04.03.01.12.36
for <xxx@gmail.com>;
Sun, 03 Apr 2016 01:12:36 -0700 (PDT)
Received-SPF: neutral (google.com: xxx.89.xx.64 is neither permitted nor denied by best guess record for domain of user@merlin.example.com) client-ip=xxx.89.xx.64;
Authentication-Results: mx.google.com;
spf=neutral (google.com: xxx.89.xx.64 is neither permitted nor denied by best guess record for domain of user@merlin.example.com) smtp.mailfrom=user@merlin.example.com
Received: by merlin.example.com (Postfix, from userid 1000)
id 02854601326; Sun, 3 Apr 2016 20:12:12 +1200 (NZST)
Я не вижу, что не так в моей настройке, и изменил столько параметров, сколько смог придумать, глядя на http://www.postfix.org/. Я перезапускал postfix после каждого изменения.
Буду признателен за любые предложения :)
Отрывок из помощь постфикса:
Какое доменное имя использовать в исходящей почте
В myorigin Параметр указывает домен, который отображается в почте, отправляемой на этот компьютер. По умолчанию используется имя локального компьютера, $ myhostname, по умолчанию используется имя машины. Если у вас не очень маленький сайт, вы, вероятно, захотите изменить его на $ mydomain, который по умолчанию является родительским доменом имени машины.
Для обеспечения согласованности адресов отправителя и получателя, myorigin также указывает имя домена, добавляемое к неквалифицированному адресу получателя.
Примеры (укажите только один из следующих):
/etc/postfix/main.cf:
myorigin = $myhostname (default: send mail as "user@$myhostname")
myorigin = $mydomain (probably desirable: "user@$mydomain")
Я ни в коем случае не эксперт по postfix, но я не вижу директивы mydomain в вашей конфигурации.
Мои конфиги настроены так:
mydomain = example.com
myorigin = $mydomain