Email
如何配置 sendmail 使用埠 465 或 587 通過 GMail (smtp.gmail.com) 發送電子郵件?
我已將 sendmail 配置為通過我的 GMail (Google Mail) 帳戶發送電子郵件,即通過
smtp.gmail.com
編輯/etc/mail/sendmail.mc
和重新生成 sendmail.cf:-dnl define(`SMART_HOST',`smtp.your.provider') +define(`SMART_HOST',`[smtp.gmail.com]') -dnl define(`confAUTH_OPTIONS', `A p')dnl +define(`confAUTH_OPTIONS', `A p')dnl -dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl -dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl +TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl +define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`no_default_msa',`dnl')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl +FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl -dnl MASQUERADE_AS(`mydomain.com')dnl +MASQUERADE_AS(`gmail.com')dnl
以上是我對 sendmail.mc 所做更改的縮短差異。
我已
/etc/mail/authinfo
使用我的憑據(我的 GMail 帳戶的使用者名和密碼;已編輯)創建:AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:password" "M:PLAIN" AuthInfo: "U:user@gmail.com" "P:password" "M:PLAIN"
但是這種設置使“sendmail”使用 smtp.gmail.com 通過標準 SMTP 埠 25 發送電子郵件……但最近我的 ISP 添加了防火牆規則,阻止所有流量到(不安全)埠 25。
如何配置 sendmail 通過埠 465 或 587(使用 STARTTLS)發送電子郵件?
將以下內容添加到您的 sendmail.mc:
define(`RELAY_MAILER_ARGS', `TCP $h 587') define(`ESMTP_MAILER_ARGS’, `TCP $h 587′)
這應該讓您的出站郵件由 Sendmail 在埠 587 上發送。
您還需要將 sendmail 配置為執行 TLS。這有點超出您的問題範圍,但如果您不熟悉,您可以找到很多關於如何使用 Google 進行操作的體面指南。