我正在尝试使用 postfix 来在 checkmk 收到警报时发送电子邮件。我的问题是,在浏览了 50 多个在线指南和视频后什么都没起作用!!
据我了解,一个月前做出了一些改变,删除了从您的电脑发送电子邮件的选项(这是之前的一个选项)以及通过简单的密码和用户名登录您的 gmail 帐户,以减少垃圾邮件。
所以现在为了发送电子邮件,您必须拥有自己的注册域名、注册主机和大量我完全不了解的其他东西。
有没有办法让 postfix 真正工作,或者这不再是一个可行的选择,如果有办法,那么到底该如何实现?
这是附加信息,这是我的main.cf
文件:
myhostname=checkmk.local
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8
inet_interfaces = loopback-only
recipient_delimiter = +
compatibility_level = 2
#smtp_tls_wrappermode = yes
#smtp_tls_security_level = encrypt
inet_protocols = ipv4
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
relay_domains = gmail.com
使用此配置,我收到“用户名和密码不被接受”的消息,正如我上面提到的,谷歌(不仅仅是谷歌)做了一些更改,您无法再使用简单的用户名+密码登录。更准确地说,这里有一个包含其他信息的链接: https://support.google.com/mail/?p=BadCredentials
我还进行了一个简单的设置,没有尝试使用 Gmail 帐户登录,此时我收到了“退回”错误:
Host or domain name not found.
Name service error for name=ns.local type=AAAA:
Host not found
我的理解是,我必须有一个域名,其中 ns.local(在本例中)具有我必须创建的 AAAA 记录。
答案1
Google 已为其电子邮件服务推出双重授权,这可能是您指的最近更改?这已经持续了一段时间,但可能刚刚为您推出。但是,PostFix 和朋友只需要一个从您的 Google 帐户的安全设置生成的应用密码即可实现此目的:support.google.com/accounts/answer/185833 – andrew.46
这就是答案!经过一番尝试并设置了 2 个 FA 后,我就可以开始向任何地方发送电子邮件了!感谢 andrew.46 为我指明了正确的方向!祝你长命富贵!