我正在尝试在网络中的 Pi 上使用 SENDMAIL (v8.15) 将邮件转发到我的 SendGrid 帐户。这是必需的,因为我网络上的旧网络摄像头无法使用 SendGrid 所需的非常长的密码。
基本的 SENDMAIL 工作正常,但连接到 SendGrid 时未使用 AUTH LOGIN。我已经安装了sasl2-bin
软件包。如何“链接”SENDMAIL 以使用机器上安装的 SASL?在这种情况下,当 SENDMAIL 作为客户端运行时,是否还需要 SASL?
我的authinfo
文件包含:
AuthInfo:smtp.sendgrid.net "U:api.key" "P=cGFzc3dvcmQ=" "M:LOGIN PLAIN"
sendmail.mc
除了我的文件中的以下内容外,几乎所有其他内容都是开箱即用的:
FEATURE(`authinfo')
define(`RELAY_MAILER_ARGS',`TCP $h 25')dnl
define(`SMART_HOST',`smtp.sendgrid.net')dnl
define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_OPTIONS',`A')dnl
重建和重新启动后,我仍然得到:
AUTH=client,可用机制不满足要求
AUTH=client,relay=smtp.sendgrid.net.,临时失败,连接中止
stat=Deferred:临时 AUTH 失败。
我使用 TCPDUMP 跟踪流量,并在 SendGrid 的 EHLO 响应后看到:
250-smtp.sendgrid.net
250-8BITMIME
250-PIPELINING
250-SIZE 31457280
250-STARTTLS
250-AUTH PLAIN LOGIN
250 AUTH=PLAIN LOGIN
Pi 发送 QUIT 命令。它没有尝试AUTH LOGIN
。
使 SENDMAIL 作为客户端使用 AUTH LOGIN 需要什么?
此外
sasl2-bin
,还需要安装libsasl2-modules
。我在http://memoryslpping.blogspot.com/p/sendmail.html找到了详细说明。