奇怪的是,今天早上我之前正常运行的 MailHog 在我的 Mac Mojave 上停止工作了。
我按照这篇文章中的步骤运行 MailHog:https://www.joshstauffer.com/send-test-emails-on-a-mac-with-mailhog/
Postfix 日志文件输出:(日志流 --predicate '(process == "smtpd") || (process == "smtp")' --info)
我的 /etc/hosts 文件包含以下条目:127.0.0.1 localhost
此外,当我执行以下操作时,我得到(不确定是否相关):
[12:26:22][~]#nslookup localhost
Server: 192.168.0.1
Address: 192.168.0.1#53
** server can't find localhost: NXDOMAIN
etc/postfix/main.cf 配置文件的最后一部分(之前全部未改变):
#inet_protocols = all
inet_protocols = ipv4
message_size_limit = 10485760
mailbox_size_limit = 0
biff = no
mynetworks = 127.0.0.0/8, [::1]/128
smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated permit
recipient_delimiter = +
tls_random_source = dev:/dev/urandom
smtpd_tls_ciphers = medium
inet_interfaces = loopback-only
# Adding this doesnt work:
#mydestination = localhost
# For MailHog
myhostname = localhost
relayhost = [localhost]:1025
compatibility_level = 2
尝试根据添加 inet_protocols = ipv4这个帖子。
任何帮助都非常感谢!
答案1
默认情况下,Postfix 仅使用 DNS 来解析名称,绕过任何系统解析配置(hosts 文件、ldap 等)。要使用本机系统解析,请设置以下配置选项:
smtp_host_lookup=native
或者,如果在 DNS 中找不到该记录,则恢复使用本机选项。
smtp_host_lookup=dns,native
根 DNS 服务器不允许返回 localhost 的任何记录,因为它已被保留。但是,根据您的本地 DNS 解决方案或 ISP,您仍可能会获得它的记录。