
過去数日間、私はWebアプリケーションから送信されたすべてのメールを処理するようにExim4を設定しようとしました。
うまくいきますが、EHLOで送信されるホスト名をハードコードする方法が見つかりませんでした。 (設定したくありません/etc/hostname
。)
構成に記載されている変数が見つかりましたMAIN_HARDCODE_PRIMARY_HOSTNAME
が、これを設定する方法が見つかりませんでした。この変数がホスト名を設定する最も簡単な方法ですか、それとも良い方法がありますか?
以下は完全なインストール/構成です。私は何を逃したことがありませんか?
Exim version 4.92
Debian Buster 10
インストールする
apt-get install exim4-daemon-light
Exim4の設定
dpkg-reconfigure exim4-config
Type: internet site
FQDN: smtp.mydomain.com
SMTP listener: (empty)
Mail destinations: (empty)
Domain relay: (empty)
Machine relay: (empty)
DNS queries minimal: No
Delivery method: Maildir
Split conf files: No
TLSの有効化と証明書の生成
printf "MAIN_TLS_ENABLE = true\n" >> /etc/exim4/exim4.conf.localmacros
/usr/share/doc/exim4-base/examples/exim-gencert
リバースDNSチェック(IP - > smtp.mydomain.com)
https://mxtoolbox.com/ReverseLookup.aspx
IPv6を取得
ip -6 addr | grep inet6 | awk -F '[ \t]+|/' '{print $3}' | grep -v ^::1 | grep -v ^fe80
/etc/ホスト
[ipv4] smtp.mydomain.com
[ipv6] smtp.mydomain.com
"/etc/exim4/exim4.conf.template" コメントを解除
# plain_server:
# driver = plaintext
# public_name = PLAIN
# server_condition = "${if crypteq{$3}{${extract{1}{:}{${lookup{$2}lsearch{CON$
# server_set_id = $2
# server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif
ユーザー/パスワードを追加 - > '/etc/exim4/passwd'
/usr/share/doc/exim4-base/examples/exim-adduser
DKIM/SPF
サーバーにDKIMキーを設定し、DNSにDKIM / SPFを設定しましたが、両方が機能します。
答え1
REMOTE_SMTP_HELO_DATA = whatever.you.want
.Debianパッケージは/etc/exim4/exim4.conf.localmacros
4.69-10からサポートされています。から/usr/share/doc/exim4/changelog.Debian.gz
:
- REMOTE_SMTP_HELO_DATAマクロを直接設定して、発信するsmtp helo / ehloを設定できます。以前は、REMOTE_SMTP_HELO_FROM_DNSのヘルパーマクロとしてのみ使用する必要がありました。 REMOTE_SMTP_HELO_FROM_DNS は手動 REMOTE_SMTP_HELO_DATA データ設定をオーバーライドします。閉鎖:#514113
Debian設定テンプレートはこのマクロを使用してデータを入力します。helo_data
SMTP転送オプション。