1

我正在使用 msmtp 发送电子邮件,但出现身份验证错误,尽管我的登录凭据是正确的。

我的 msmtprc 文件包含

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default
host smtp.gmail.com
port 25
auth on
user *******@gmail.com
password *********
from **********@gmail.com
logfile /var/log/msmtp.log

在终端上运行此命令

echo -e "Subject: Test Mail\r\n\r\nThis is my first test email." |msmtp --debug --from=default -t vikrantgoutam16@gmail.com

我收到以下错误

msmtp:身份验证失败(方法 PLAIN)
msmtp:服务器消息:535-5.7.8 用户名和密码不被接受。在 msmtp 了解更多
信息:服务器消息:535 5.7.8 https://support.google.com/mail/?p=BadCredentials b14sm68898705pfi.92 - gsmtp msmtp:无法发送邮件(帐户默认来自 /etc/msmtprc)

4

2 回答 2

0

按照arch wiki上的指南,我意识到我没有 chmod 设置。

我在技术上复制并粘贴了示例中的设置进行这些更改:

  • 用户
  • 密码
  • <<删除了免费邮件服务部分>>

一旦我设置了这个参数解决方案就对我有用。

于 2020-11-01T08:25:20.157 回答
0

我只是有同样的问题。我有一个带有 PHP 7.3.14-1 的 Debian 10 32 位,并且 /etc/msmtprc 文件有...

account <myusername>@gmail.com
host smtp.gmail.com
port 587
tls on
tls_starttls on
auth on
user <myusername>
password <plain-password>
from <username>@gmail.com
account default : <username>@gmail.com

此配置使用 smtp.gmail.com 发送没有错误的电子邮件,然后我有一个带有 Debian 10 64 位和 PHP 7.3.14-1 的 GCE(谷歌计算引擎),具有完全相同的配置文件,但它不起作用。我启用了两步验证方法并为我的脚本生成了一个 16 个字符的密码,使用应用程序密码,GCE 刚刚工作。当然 32 位机器不能再发送电子邮件了,但我的优先级是 GCE 机器。GCE上的配置文件是...

# Set default values for all following accounts.
defaults
port 587
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account gmail
host smtp.gmail.com
from <myusername>@gmail.com
auth on
user <myusername>@gmail.com
password <16 character password from Gmail>

# Set a default account
account default : gmail

可能值得一提的是,32位机器有gCloud SDK,它完全能够登录和连接到GCE实例。

于 2020-06-11T12:31:29.050 回答