发送邮件后,收件方没有收到邮件

来源:6-2 邮件发送

夜魇丶

2024-01-03 19:35:54

问题描述:

运行代码后,邮件发送成功。在发件方的SMTP发送区,可以看到成功发送的邮件。但收件方无法收到。


尝试过的解决方式:

1.猜测是没有携带发送人信息。但代码与课程代码对比后,没有发现问题点。

2.收件人邮箱的收件箱和垃圾邮件没有收到邮件,且没有遇到邮件拦截。

3.收件人的邮箱已开启SMTP服务(此处额外问一下,收件方是否必须开启这个服务,才能收到发送者的邮件)



相关截图:

https://img1.sycdn.imooc.com/climg/6595452509d1c52413690391.jpg

https://img1.sycdn.imooc.com/climg/659544ed09148b5b11540752.jpg

https://img1.sycdn.imooc.com/climg/6595458809f29e7209190203.jpg


相关代码:

# 8a3fba34077dfe46

import smtplib

from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服务
mail_host = "smtp.sina.cn"  # 设置服务器
mail_user = "13661038264m"
mail_pass = '8a3fba34077dfe46'  # 口令

sender = '13661038264m@sina.cn'
receivers = ['942623451@qq.com']

message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')

message['From'] = Header(sender)
message['Subject'] = Header('Python SMTP 邮件测试', 'utf-8')
print(message.as_string())

try:
    smtpobj = smtplib.SMTP()
    smtpobj.connect(mail_host, 25)
    smtpobj.login(mail_user, mail_pass)
    smtpobj.sendmail(sender, receivers, message.as_string())
    print('邮件发送成功')
except smtplib.SMTPException as error:
    print('Error: 无法发送邮件', error)


写回答

1回答

好帮手慕小猿

2024-01-04

同学,你好!1、可能是新浪对邮件标题含有python 字样的邮件会被过滤掉,致使无法发送邮件。同学将邮件标题的Python字样去掉就可以发送成功的。

https://img1.sycdn.imooc.com/climg/6596289b09be5c7605850074.jpg

2、经测试,老师关闭了qq邮箱的smtp服务也是可以接收到邮件的,同学可以尝试下。

祝学习愉快~

1

Python全能工程师 2024 版

8阶段5大热门领域,从入门到实战,带你从零基础晋级全能,全面提升就业力

1565 学习 · 855 问题

查看课程