使用Gmail SMTP服务器通过git send-email发送邮件失败求助
使用Gmail SMTP通过git send-email发送邮件失败
问题详情
用Gmail SMTP服务器通过git send-email发送邮件时失败,发件人和收件人为同一账号,确认密码正确但仍无法发送。
执行的命令
git send-email --to 123@gmail.com --from 123@gmail.com *.patch 0001-TEST.patch
.gitconfig配置内容
[sendemail] smtpEncryption = tls smtpserver = smtp.gmail.com smtpuser = 123@gmail.com smtpServerPort = 587 smtppass = test [user] name = Salman email = 123@gmail.com
错误提示
截图中的错误信息翻译如下:
无法向收件人123@gmail.com发送邮件,退出状态码:1
SMTP服务器错误:535-5.7.8 用户名和密码不被接受。详情请参阅
535 5.7.8 https://support.google.com/mail/?p=BadCredentials y20-20020a056a001d0d00b006e6b4d0f5a9sm10504795pfb.183 - gsmtp
解决办法
启用应用专用密码(优先推荐)
Gmail默认禁止普通密码用于第三方应用登录,需使用应用专用密码:- 确保Google账号已开启两步验证
- 登录Google账号安全设置页,找到「应用专用密码」选项
- 生成新的应用专用密码,替换
.gitconfig中的smtppass字段值
临时开启低安全性应用访问(不推荐)
若未开启两步验证,可临时启用该选项:- 登录Google账号安全设置页,找到「低安全性应用访问」
- 开启后使用原密码重试发送操作
检查配置细节
- 确认
smtpEncryption为tls(配置中已正确设置,若改用ssl需对应端口465) - 确保
smtpServerPort为587,与TLS加密规则匹配 - 验证
git send-email命令中的--from参数,需与配置里的sendemail.smtpuser、user.email完全一致
- 确认
内容的提问来源于stack exchange,提问作者Salman
相关产品推荐
相关产品推荐

