You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

smtplib报SMTPAuthenticationError(535),但凭据可正常登录网页端,求原因

邮件SMTP认证失败问题排查

用户提供的测试代码

#!/usr/bin/env python3
import smtplib, ssl
from email.message import EmailMessage

msg = EmailMessage()
msg.set_content("Email body")
msg["Subject"] = "Email subject"
msg["To"] = "test@dispostable.com"
msg["From"] = "********@mail.com"
server="smtp.mail.com"
port=587
pwd="********"

context=ssl.create_default_context()
with smtplib.SMTP(server, port=port) as smtp:
    smtp.starttls(context=context)
    smtp.login(msg["From"], pwd)
    smtp.send_message(msg)

执行后错误信息

Traceback (most recent call last):
  File "./test.py", line 17, in <module>
    smtp.login(msg["From"], pwd)
  File "/usr/lib64/python3.6/smtplib.py", line 730, in login
    raise last_exception
  File "/usr/lib64/python3.6/smtplib.py", line 721, in login
    initial_response_ok=initial_response_ok)
  File "/usr/lib64/python3.6/smtplib.py", line 642, in auth
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'Authentication credentials invalid')

用户问题

本人确认邮件凭据可正常登录www.mail.com网页端,但通过SMTP方式调用时却出现认证失败,请问原因是什么?

可能的原因及排查方向

  • 未开启SMTP服务权限:多数邮箱默认关闭SMTP服务,即便网页端能正常登录,也要进入邮箱设置页面,找到SMTP相关选项手动开启。
  • 两步验证需用应用专用密码:如果邮箱开启了两步验证,直接用网页登录密码做SMTP认证会失败,需在邮箱设置里生成一个应用专用密码,替换代码中的pwd。
  • 密码存在输入误差:仔细核对代码里的密码是否和网页登录密码完全一致,注意特殊字符、大小写、空格等细节,避免复制粘贴时出错。
  • 安全策略拦截:邮箱服务商可能识别到非常用设备/IP的SMTP请求,触发了拦截。登录网页端邮箱,查看是否有异常登录提醒并解除限制。
  • 服务器地址匹配问题:虽然smtp.mail.com是通用地址,但部分地区的mail.com账号可能对应不同的SMTP服务器,建议确认官方给出的正确服务器地址。

内容的提问来源于stack exchange,提问作者user19273

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 02:35:16