让 SENDMAIL(作为客户端)使用 AUTH LOGIN

让 SENDMAIL(作为客户端)使用 AUTH LOGIN

我正在尝试在我的网络中的 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=客户端,可用机制不能满足要求

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?

答案1

此外sasl2-bin,还需要安装libsasl2-modules

我找到了详细说明http://memoryslipping.blogspot.com/p/sendmail.html

相关内容