對於我使用的電子郵件伺服器iredmail
。我的電子郵件伺服器有以下設定:
# /etc/hostname
mail
# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost
所以 FQDN 是mail.mydomain.com
。
這裡我找到了我使用的範例,但是透過這些範例,我的伺服器可以發送電子郵件,但無法接收:
Type Name Value TTL
A @ 195.201.40.1 1 hour # Web server
A mail 195.201.40.2 1 hour # Mail server
MX @ mail.mydomain.com (Priority: 10) 1 hour
TXT @ v=spf1 ip4:195.201.40.2 -all 1 hour
TXT @ v=DMARC1; p=reject; sp=reject;... 1 hour
TXT _adsp._domainkey dkim=all
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...
然後我改變了:
MX @ mail.mydomain.com (Priority: 10) 1 hour
到
MX mail mail.mydomain.com (Priority: 10) 1 hour
郵件伺服器開始接收電子郵件。
我有兩大問題:
1) 據我了解,外部電子郵件服務(例如 gmail)會將郵件發送到mydomain.com
,而不是發送到mail.mydomain.com
,因為我的電子郵件地址看起來像[email protected]
而不是像[email protected]
。為什麼要改變@
才能mail
解決接收郵件的問題?
我將記錄理解MX @ mail.mydomain.com
為:「外部電子郵件服務,如果您發送電子郵件至[電子郵件受保護](@ = mydomain.com),然後使用 FQDN mail.mydomain.com 向伺服器發送電子郵件”,但我的邏輯似乎不起作用。為什麼?
這裡我們可以看到主機名稱可以使用@
不同的 FQDN。為什麼在我的情況下它不起作用?
2) 對於 TXT 記錄,我應該提供什麼名稱?@
或者mail
,即網域名稱或主機名稱?如果mail
,是否意味著如果我有 10 個郵件伺服器,我需要為所有郵件伺服器製作自己的 TXT 記錄?
答案1
我已將您的 DNS 記錄轉換為綁定格式。除非您要變更條目,否則不需要指定條目的 TTL。
我已將 SPF 記錄轉換為最簡單的形式。A
記錄規則用於mail
SPF-helo
檢查。的規則表示不應從子網域www
發送任何電子郵件。www
您的網域、子網域的條目如下。 (請注意 MX 記錄末尾的點。如果缺少,您應該使用mail
)。
@ IN A 195.201.40.1
IN MX mail.mydomain.com.
IN TXT "v=spf1 mx -all"
標準服務郵件和 www(某些瀏覽器將嘗試 www,即使條目中未提供)。
mail IN A 195.201.40.2
IN TXT "v=spf1 a -all"
www IN A 195.201.40.1
IN TXT "v=spf1 -all"
具有報告功能的 DMARC 配置。在報告表明您沒有問題之前,我不會使用保單reject
。您可能想從none
您的政策開始。
_dmarc IN TXT "v=DMARC1; p=reject; sp=reject;..."
*._report.dmarc IN TXT "v=DMARC1"
DKIM 的配置。_adsp
似乎不再處於標準軌道上。替換dkim
為您在簽名時使用的金鑰名稱。
_adsp._domainkey IN TXT dkim=all
dkim._domainkey IN TXT v=DKIM1; k=rsa; p=MIGfMA0GCSq...
答案2
1) 郵件將傳送至電子郵件地址主機名稱部分的 MX 記錄中指定的主機名稱。例如,當郵件發送至[電子郵件受保護],會發生以下情況:
為 gmail.com 取得配置的 MX 記錄之一:
# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.
郵件發送至對應郵件伺服器的IP位址:
# dig gmail-smtp-in.l.google.com +short
173.194.221.27
就您而言,尚不清楚問題是如何解決的,因為初始配置看起來不錯。嘗試使用公共 DNS 檢查哪個 MX 伺服器負責您的網域名稱以及它引用的 IP 位址:
# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short
mail.
2)應提供網域名稱(不含部分)用於SPF記錄。對於 DKIM 和 DMARC,也應在網域名稱中添加前綴(不含mail.
部分),例如:
TXT _dmarc v=DMARC1; p=reject; sp=reject;...
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...