私は最近、exim
のprimary_hostname
明示的に を設定することを推奨していないDebianwikiに遭遇しました。私が収集できるものから、ここにprimary_hostname
を選択する コード があります。
基本的に、私は/etc/hostname
(myhostname.example.com
)にFQDNがあるか、myhostname
と/etc/hosts
に1行あります。
ip.add.re.ss myhostname.example.com myhostname
さて、どのIPアドレスですか? 127.0.0.1
または外部のもの?
FQDNがlocalhost
を指しているのは問題ないと思います。それで、/etc/hostname
のmyhostname
と、/etc/hosts
の次の?
127.0.0.1 myhostname.example.com myhostname localhost
私にはかなり有望に見えます:
$ hostname
myhostname
$ hostname -d
example.com
$ hostname --fqdn
myhostname.example.com
それ以外の場合、exim
はおそらく挨拶にmyhostname.example.com
を使用します(EHLO
)。そして、それは電子メールがスパムと見なされるかどうかに影響を与える可能性があります。それとも、myhostname.example.com
からではなくexample.com
からメールを送信する必要がありますか?
誰かが私のためにサイクルを壊す可能性はありますか?そして、それはexim
だけではありません。みんなを幸せにする最適な設定はありますか?またはそれらのほとんど?
primary_hostname
を明示的に構成しないというアドバイスに同意するかどうかはわかりません。もちろん、原則として、システムのホスト名を1か所で構成してから、システムの残りの部分に浸透させるのは良い考えですが、2019年の電子メール送信の現実は、送信FQDNを変更して物事を期待することはできないということです働き続けるために。理想的には、発信IPアドレスとHELO名の逆引きDNSは同じであり、一貫してIPアドレスに解決されます。そのため、ドメインの外部DNSに正しいIPアドレスを設定することが不可欠です。サーバーが常にこの外部DNSに確実にアクセスできることがわかっている場合は、それを/etc/hosts
に入れる理由はなく、127.0.0.1 localhost
をそのまま使用します。
Eximの場合、個人的にはprimary_hostname
の明示的な構成をお勧めします。さらに、デフォルトでqualify_domain
の値に設定されているprimary_hostname
設定に注意を向けますが、ドメイン名だけに明示的に設定することもできます。
考えてみると、他の人に影響を与える設定を変更しないことをお勧めします。ただし、変更したい特定の設定を変更してください。 From
ヘッダーを変更したいですか? /etc/mailname
を変更します。 HELO
ホスト名? helo_data
を変更します。これは基本的に次のように要約されます。
/etc/exim4/exim4.conf.localmacros
(HELO
ホスト名):
REMOTE_SMTP_HELO_DATA = mydomain.com
/etc/mailname
(From
ヘッダー):
mydomain.com
次に
# update-exim4.conf
# systemctl reload exim4
それが機能することを確認するには、port25の 認証チェッカー にテストメールを送信します。
echo test email | exim [email protected] # replies back
echo test email | exim [email protected] # replies back
echo test email | exim [email protected] \
# replies to [email protected]
受信したレポートには、次の行があります。
HELO hostname: somedomain.com
または、単に-v
オプションを追加します。
# echo test email | exim -v [email protected]
LOG: MAIN
<= [email protected] U=root P=local S=290
delivering 1hM501-0007Nn-7A
R: dnslookup for [email protected]
T: remote_smtp for [email protected]
Connecting to mail.dst.com [ip.add.re.ss]:25 ... connected
SMTP<< 220 dst.com ESMTP Postfix (Debian/GNU)
SMTP>> EHLO src.com
SMTP<< 250-dst.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO src.com
SMTP<< 250-dst.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
SMTP>> MAIL FROM:<[email protected]> SIZE=1322
SMTP>> RCPT TO:<[email protected]>
SMTP>> DATA
SMTP<< 250 2.1.0 Ok
SMTP<< 250 2.1.5 Ok
SMTP<< 354 End data with <CR><LF>.<CR><LF>
SMTP>> writing message and terminating "."
SMTP<< 250 2.0.0 Ok: queued as 0019EEC0B6D
SMTP>> QUIT
LOG: MAIN
=> [email protected] R=dnslookup T=remote_smtp H=mail.dst.com [ip.add.re.ss] X=TLS1.0:RSA_AES_256_CBC_SHA1:32 DN="CN=dst.com"
LOG: MAIN
Completed
または、宛先メールボックスを確認することもできます。
exim
が受け取りました:
Received: from [ip.add.re.ss] (helo=HELO_HOSTNAME)
...
postfix
が受信:
Received: from HELO_HOSTNAME (myhostname [ip.add.re.ss])
...
/etc/hosts
ホスト名はFQDNではなくホスト名であるはずだと思います。
/etc/hosts
...に追加するかどうか。最近のソフトウェアを見ると、ホスト名が何かに解決されることは期待されていません。または、オーバーライドすることもできます。 (つまり、どこかでドメイン名としてホスト名を使用しない限り。)つまり、127.0.0.1
にはこれだけが必要です。
127.0.0.1 localhost