使用 SendGrid/Gmail 时 SMTP 身份验证失败

Posted

技术标签:

【中文标题】使用 SendGrid/Gmail 时 SMTP 身份验证失败【英文标题】:SMTP authentication failure while using SendGrid/Gmail 【发布时间】:2013-02-06 10:15:47 【问题描述】:

我在服务器上收到 SMTP 身份验证失败,邮件仅通过服务器 SMTP 发送...

这似乎是服务器配置或相关问题,但我不确定。

这是调试细节:

250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP

Failed to authenticate password. Error: 535 Incorrect authentication data

from: 250 OK

to: 250 Accepted

data: 354 Enter message, ending with "." on a line by itself

250 OK id=1U8Pjp-0002As-FB

quit: 221 ************** closing connection

Your message has been successfully sent using the following protocol: smtp

从我的本地系统进行测试时,这是可行的,并且电子邮件正在通过 sendgrid.me 发送

同样,这可能不是 SendGrid 问题,但如果您遇到类似问题,您能告诉我这里有什么问题吗?

我正在使用 CentO,并且我在服务器中有 cPanel。我相信我们正在使用 EXIM 作为邮件服务器。

【问题讨论】:

【参考方案1】:

对于将来遇到此问题并使用 cpanel/whm 的任何人,您需要在 WHM 的“SMTP 限制”下“禁用”此选项。

【讨论】:

首页 >> 安全中心 >> SMTP限制【参考方案2】:

我能够解决这个问题。

问题是我的服务器不允许使用外部 SMTP 并使用自己的 SMTP 服务器。我更改了设置,现在可以正常使用了。

【讨论】:

我可以知道您在哪里进行了更改吗?在 cPanel WHM 面板上还是在哪里?我正在处理同样的问题,我想知道你。【参考方案3】:

我用的是centos 7 终于可以了!

我遇到了这个问题(tail -f /var/log/mailog):

to=<usmanali@example.com>, relay=smtp.sendgrid.net[169.45.113.201]:587, delay=0.3, delays=0.05/0.07/0.16/0.02, dsn=5.0.0, status=bounced (host smtp.sendgrid.net[169.45.113.201] said: 550 Unauthenticated senders not allowed (in reply to MAIL FROM command))

然后我以这种方式更改了文件/etc/postfix/main.cf,将以下行添加到文件末尾

mtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
mailbox_size_limit = 256000000

# Sendgrid Settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:apikey:SG.YOUR_SENDGRID_KEY
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587

然后使用以下方法安装 postfix 缺少的模块依赖项:

sudo yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

然后重启postfix

sudo systemctl restart  postfix.service

【讨论】:

以上是关于使用 SendGrid/Gmail 时 SMTP 身份验证失败的主要内容,如果未能解决你的问题,请参考以下文章

php WP Mail SMTP:使用SMTP邮件程序时 - 在PHP 5.6+上禁用SSL验证

SMTP使用Gmail发送电子邮件问题

为啥编码标头内容类型:text/html;在 Outlook 插件中使用 MailItem 时缺少 GMAIL 的 SMTP 服务器:SMTP.GMAIL.COM?

在 Asp.Net 中使用 Office365 SMTP 时出错

Django- [Errno 111] 使用 smtp 时连接被拒绝

使用 SMTP 时“尝试以访问权限禁止的方式访问套接字”