鱼C论坛

 找回密码
 立即注册
查看: 876|回复: 8

[Python] python发送邮件问题

[复制链接]
发表于 2025-11-3 09:28:29 | 显示全部楼层 |阅读模式
5鱼币
  1. import smtplib
  2. from email.mime.text import MIMEText
  3. from email.header import Header
  4. from email.utils import make_msgid, formatdate, formataddr

  5. def SendMail(receiver,code):
  6.     sender = "email@139.com"
  7.     receivers = [receiver]

  8.     msg = MIMEText(f"验证码:{code}\n注意:请在5分钟以内进行验证", "plain", "utf8")

  9.     msg["From"] = formataddr(["XXXXX", sender])
  10.     msg["To"] = Header(receivers[0], "utf8")
  11.     msg["Subject"] = Header("XXXXX 验证码", "utf8")
  12.     msg["Message-ID"] = make_msgid()
  13.     msg["Date"] = formatdate(localtime=True)

  14.     try:
  15.         smtpobj = smtplib.SMTP_SSL("smtp.139.com", 465, timeout=10)
  16.         smtpobj.login(sender, "授权码")
  17.         smtpobj.sendmail(sender, receivers, msg.as_string())
  18.         print("OK")
  19.         return True
  20.     except Exception as e:
  21.         print(e)
  22.         return False
复制代码


使用的139邮箱
结果返回:(550, b'2eef6905ae5094d-049aa Mail rejected') 邮箱被拒绝 请问大佬们为什么会被拒绝

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2025-11-3 09:29:46 | 显示全部楼层
自己给自己发是没问题的 给别人发有问题
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-11-3 11:13:31 | 显示全部楼层
换邮箱吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2025-11-3 11:26:46 | 显示全部楼层

额 为啥 就是因为需要手机号注册才选的这个邮箱
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-11-3 11:29:37 | 显示全部楼层
Yukiouht 发表于 2025-11-3 11:26
额 为啥 就是因为需要手机号注册才选的这个邮箱

用了你的代码试了网易邮箱没有问题,然后也注册了你这个139,确实发送不了。可能只能咨询官方了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-11-3 16:34:39 | 显示全部楼层
本帖最后由 快速收敛 于 2025-11-3 16:39 编辑

貌似多发送几次就成了,正常收到邮件
e0cc0c9b-ff98-4328-904e-71f6fc6309a2.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-11-6 14:58:45 | 显示全部楼层
我记得原来要自动发邮件的话,需要先验证各邮箱服务公司的什么码?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
import smtplib
from email.mime.text import MIMEText from email.header import Header
from email.utils import make_msgid,formatdate,formataddr
def SendMail(receiver, code):
sender = "email@139.com" receivers = [receiver]

#邮件内容,可以设计得更友好一些 mail_content = fu""您好! except smtplib.SMTPException as e:        ,列表       
print("邮件发送失数,SMTP错误:",e)
except Exception        return False        S        [Python]python发送邮件问题        (复制撞]        00       
print("其他错误:",e
return False
您的验证码是:{code}
请注意:此验证码将在5分钟后失效。
如果您没有请求此验证码,请忽略此邮件。
谢谢!
XXXXX团队#。计

msg =MIMEText(mail_content,"plain","utf8")
#设置邮件头部
msg["From"]= formataddr(["xxxxx",sender]) msg["To"] = Header(receiver, "utf8")
msg["Subject"]=Header("XXXXX验证码","utf8") msg["Message-ID"] = make_msgid()
msg["Date"] = formatdate(localtime=True) msg["MIME-Version"] = "1.0"
try:
#使用SMTP_SSL连接139邮箱的SMTP服务器,端口465
smtpobj= smtplib.SMTP_SSL("smtp.139.com",465,timeout=10)#登录,注意这里使用的是授权码,而不是邮箱密码
smtpobj.login(sender,"你的授权码")#请将"你的授权码"替换为实际的授权码#发送邮件
smtpobj.sendmail(sender, receivers, msg.as_string()) print("邮件发送成功") return True
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层
本帖最后由 高山 于 2026-1-19 22:47 编辑

可以测试一下其他邮件,如果都没问题,可能是几个原因:

1、你核实你使用正确的SMTP密码了吗?
2、你确定139邮箱支持这个功能 ?
3、你确定139邮箱没有收到安全通知,触发风控,操作存在危险行为?
4、你确定139邮箱有没有可能认为你的服务器登录存在危险而拒绝,是否确认?

一般来说不是代码的问题,大概率是邮箱提供商的问题。

可以尝试更换一下邮箱,或者问一下139客服关于风控问题。

如果你认为我的回答满意,可以设置为最佳答案,有问题可以继续问我。


以上为人类回复,不是机器人,也不是AI。大概率确实是风控问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-24 11:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表