我一直在試圖加強sendmail服務器,試圖確保用戶必須使用TLS連接登錄到smtp郵件服務器。我的證書是自簽名的。調試ubuntu上的sendmail AUTH設置16.10
我可以說(其中foobar的是服務器的名稱)
ELHO foo
250-foobar Hello public [xx.xx.xx.xx], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
AUTH PLAIN AGRwNDJAc2VydmVyLmRwMjY0Mi5mb3JjZTkuY28udWsAdmFkZXI0Mg==^M
535 5.7.0 authentication failed
中的驗證字符串由
perl -MMIME::Base64 -e 'print encode_base64("\000use\@foobar\000password")enter code here
產生我已經使用了複製和粘貼,以確保該字符串沒有錯誤輸入。
TLS握手正在工作,支持auth命令。用戶代碼和密碼是正確的。我試圖找出爲什麼它不起作用。
我的sendmail.mc
define(`confAUTH_OPTIONS',`A p')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
define(`CERT_DIR', `MAIL_SETTINGS_DIR`'certs')dnl
define(`confCACERT_PATH', `CERT_DIR')dnl
define(`confCACERT', `CERT_DIR/cacert.pem')dnl
define(`confSERVER_CERT', `CERT_DIR/sendmail-cert.pem')dnl
define(`confSERVER_KEY', `CERT_DIR/sendmail-key.pem')dnl
define(`confCLIENT_CERT', `CERT_DIR/sendmail-cert.pem')dnl
define(`confCLIENT_KEY', `CERT_DIR/sendmail-key.pem')dnl
任何試圖連接報告爲 Jun 11 18:32:23 server sm-mta[30179]: STARTTLS=server, relay=public [84.92.92.26], version=TLSv1.2, verify=NOT, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
上什麼錯誤或如何我從sendmail的任何額外的輸出有什麼建議?