由于 Gmail 不再支持“安全性较低的应用”,Sendmail 停止工作,因为我已将其配置为与我的 Gmail 帐户交互。我尝试在 Gmail 中启用“应用密码”,方法是选择“邮件”作为应用,或选择“其他”,然后按照以下说明操作:
cd /etc/mail/authinfo/
vi gmail-auth
AuthInfo: "U:root" "I:YOUR GMAIL EMAIL ADDRESS" "P:YOUR PASSWORD"
makemap hash gmail-auth < gmail-auth
在 /etc/mail/sendmail.mc 中我添加了
define(`SMART_HOST',`[smtp.gmail.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')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(`authinfo',`hash -o /etc/mail/authinfo/gmail-auth.db')dnl
我重建了
make -C /etc/mail
但它不起作用。
要从我的 Web 应用程序发送电子邮件,我使用 PHPMailer。
我做错了什么吗?我还能使用 Gmail 凭据使用 Sendmail 吗?还是应该使用其他方法?
[编辑]
我认为我已经解决了这个问题。经过多次尝试,我在 PHPMailer 中更改了目标电子邮件地址,并尝试从 PHP 中的表单发送。电子邮件已正确发送。我恢复了旧的目标电子邮件地址,电子邮件终于发送成功。
在 Gmail 中创建一个应用密码就足够了,选择“邮件”作为应用,选择“其他”作为设备。我在文件中更新了密码/etc/mail/authinfo/gmail-auth
,运行了命令
makemap hash gmail-auth < gmail-auth
make -C /etc/mail
并且系统重新启动。