美文网首页
我与Python相遇的每天_2020-5-7

我与Python相遇的每天_2020-5-7

作者: Alyna_C | 来源:发表于2021-04-15 06:57 被阅读0次

内容:python3发送邮件


笔记:

1.    错误smtplib.SMTPDataError: (554, b'DT:SPM

只赋值了msg['Subject'], 没有赋值msg['From'], msg['To'],导致出现554情况,即添加:

msg['From'] = sender

msg['To'] = receiver

2.     Error:无法发送邮件.Case:(550, b'User hasno permission')

我们使用python发送邮件时相当于自定义客户端根据用户名和密码登录,然后使用SMTP服务发送邮件,新注册的163邮箱是默认不开启客户端授权的,因此登录总是被拒绝

解决办法:进入163邮箱-设置-客户端授权密码-开启(授权码是用于登录第三方邮件客户端的专用密码),与登录密码不同。开启后在程序中将

3.     邮件主题的设置

msg['Subject'] =Header(

'Python3测试邮件',’utf-8’)

                                  (需导入from email.header import Header)

msg['Subject'] = 'Python3测试邮件'

msg['Subject'] = 'Python3 test email'

4.     邮件发送

a)     发送多人

错误:ModuleNotFoundError: No module named 'email.mime'; 'email' is not apackage

解决:将原email.py更名为email_conten.py

receiver =

'1755897460@qq.com,294685704@qq.com' #多人邮箱

stmp.sendmail(sender,receiver.split(','),msg.as_string())

#发送给多人

b)    抄送

acc = '294685704@qq.com' #抄送邮箱

msg['Cc'] = acc

stmp.sendmail(sender,receiver+acc,msg.as_string()) #发送邮件+抄送邮件

备注:抄送多人可参考发送多人的方法

c)      发送图片(将图片作为附件+插入图片)

msgimage = MIMEImage(fp.read())

(导入from email.mime.image import MIMEImage)

d)     发送文件

msg = MIMEMultipart() #创建一个带附件的实例

(导入from email.mime.multipart importMIMEMultipart)

5.     Python3发送email的方式

1)    登录第三方smtp邮箱发送邮件,支持25和465端口

stmp = smtplib.SMTP(smtpserver,25) #smtp port 25

stmp = smtplib.SMTP_SSL(smtpserver,465)  #SMTP_SSL

2)     登录smtp服务器

stmp = smtplib.SMTP()

stmp.connect(smtpserver)

备注:smtpserver为发送邮箱的服务器,比如smtp.163.com

相关文章

网友评论

      本文标题:我与Python相遇的每天_2020-5-7

      本文链接:https://www.haomeiwen.com/subject/ddnahltx.html