Sendmail

讓 SENDMAIL(作為客戶端)使用 AUTH LOGIN

  • June 18, 2021

我正在嘗試在網路中的 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找到了詳細說明。

引用自:https://serverfault.com/questions/1054229