我已经configurationsendmail通过我的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的更改的缩写。
我用我的凭据(我的GMail帐户的用户名和密码;编辑)创build了/etc/mail/authinfo :
AuthInfo:smtp.gmail.com "U:[email protected]" "P:password" "M:PLAIN" AuthInfo: "U:[email protected]" "P:password" "M:PLAIN"
但是这个设置使'sendmail'使用smtp.gmail.com通过标准SMTP端口25发送电子邮件…但是最近我的ISP增加了阻止所有通信到(不安全)端口25的防火墙规则。
如何configurationsendmail通过端口465或587发送电子邮件(使用STARTTLS) ?
将以下内容添加到sendmail.mc中:
define(`RELAY_MAILER_ARGS', `TCP $h 587') define(`ESMTP_MAILER_ARGS', `TCP $h 587′)
这应该会让您的出站邮件由端口587上的Sendmail发送。
您还需要将sendmailconfiguration为执行TLS。 这有点超出了你的问题的范围,但是如果你不熟悉的话,你可以find很多体面的指南来介绍如何去做。