すべての標準に準拠し、SPFなどのセキュリティ対策を有効にしながら、複数の仮想ドメインにサービスを提供するようにPostfixを適切に設定したいと思います。
server.domain.tld
です。mydomain
がdomain.tld
に設定されています。myhostname
がserver.domain.tld
に設定されています。myorigin
を何にも設定していません。mail.tld
を受信および送信メールサーバーとして設定しています。mail.tld
として外の世界に行動することを望みます。私が最初に考えたのは、mydomain
とmyhostname
をmail.tld
に設定することでした。ただし、mail.tld
の逆ルックアップはホストのIPアドレスに解決される必要があるようです( https://serverfault.com/a/366391/162258 など) 。それは可能ですが、逆ルックアップをmail.tld
に設定すると、ホスト自体を逆ルックアップする必要がある場合に問題が発生する可能性があるのではないかと心配しています。
Postfixがmail.tld
として機能し、mail.tld
をMXレコードとして指定し、ホストのDNS整合性を維持しながらSPF、DKIM、DMARCを使用できるようにするにはどうすればよいですかserver.domain.tld
?
私は同様のワーキングセットアップを持っています-私はDKIMやDMARCを使用しておらず、スパム対策のためにSPFだけを使用しています。
これが私のものです-私はこれをガイドとして使用して私の設定をしました、そして私がそれに従う間、私が違うことをするいくつかのことがあります--- https://workaround.org/ispmail/jessie
これが、ホスト名のさまざまなファイルに含まれているものです。あなたのように、私は複数のドメインをホストしていて、それらはすべて正常に機能します。
逆引きDNSはmail.example.com
に設定されています
スタンドアロンメソッドを介してletsencrypt証明書を取得し、example.com、mail.example.com、およびwww.example.comをホストとして指定します。
/etc/hostname
--mailserver
(/etc/hosts
の127.0.0.1への適切なマッピング付き)/etc/mailname
--mail.example.com
/etc/postfix/main.cf
には、ホスト名またはFQDNへの次の参照があります-
smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
myhostname = mail.example.com
mydestination = $myhostname, mail.example.com, mailserver, localhost.localdomain, localhost
私のmain.cf
では、サービスするドメインと、mysqlデータベースからのユーザーとパスワードを取得します(上記でリンクしたハウツーに従って)。適切なテーブルにドメインを入力し、その下にユーザーアカウントまたはエイリアスを作成すると、他のドメインがmail.example.com
を最高の優先度(最小の番号)のMXとして入力した場合、メールサーバー(受信および送信)として機能できます。ドメインのレコード、およびmail.example.com
が送信に有効であることを指定しているSPFレコード-MXレコードオプションを使用します
example.com. TXT "v=spf1 a mx ptr ~all"
クライアントは、送信(TLS/SSL付き)およびpop3やimap(両方ともtls/ssl付き)のためにmail.example.com
に接続します。よく働く。