Cloudflare 中的郵件伺服器和 MX 記錄
我在 CentOS 6 中使用 postfix/dovecot 建構了自己的郵件伺服器,這是我的 postconf -n 結果:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 home_mailbox = Maildir/ html_directory = no inet_interfaces = localhost inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = example.com myhostname = mail.example.com mynetworks = 168.100.189.0/28, 127.0.0.0/8 myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relay_domains = sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop unknown_local_recipient_reject_code = 550
我嘗試使用 telnet 測試我的電子郵件,我確實將它們放在 /home/user/Maildir/new 文件夾中。
我假設郵件伺服器一切正常,所以我繼續將 MX 記錄添加到我的 DNS 設置中。
這是我第一次使用 Cloudflare 的免費 DNS 服務,我承認在這方面我不是最有見識的人,但我在其中添加了幾條記錄:
- MX - @ => mail.example.com
- A - mail.example.com => 我的 VPS ip(郵件伺服器所在的位置)
MX 記錄似乎已經到位,一個快速的“dig MX example.com”確實會產生結果。現在的問題是……即使我將記錄創建為mail.example.com,通過 dig 看到的實際條目是dc-8c1937cd-mail.example.com。,似乎已將一個字元串附加到 DNS 記錄中。
從那以後,我嘗試從外部來源(不是 telnet)發送電子郵件但沒有成功。我是否需要重新配置後綴並將 myhostname 設置為 dc-8c1937cd-mail.example.com.?我是否在 DNS 的宏偉計劃中遺漏了一些東西,或者這只是 Cloudflare 的運作方式?我的郵件伺服器是否配置不正確?(來自我的 telnet 測試的日誌看起來不錯)
問題是
inet_interfaces = localhost
,導致 postfix 僅在本地偵聽埠 25,將其設置為inet_interfaces = all
修復問題。
在 CloudFlare DNS 設置中,確保
除此之外,您的 DNS 似乎處於一個可行的配置中,並且您(根據您自己的承認)成功接收郵件。