Python实现发送邮件踩过的坑

1、ImportError: No module name mime.multipart;或者No module name mime.text;也可能是No module name mime.image

解决方法:导包错误,因为导入的包是从email.mime中,所以文件名就不要为email.py,换个名字即可。如下图:

Python实现发送邮件踩过的坑_第1张图片

 2、smtplib.SMTPAuthenticationError:  (550,  ‘user has no permission’);

解决方法:开启网易邮箱客户端授权码。

步骤是:登录网易邮箱网页版→设置→账号与邮箱中心→客户端授权密码→设置授权码→开启即可

注意:此后Python中的密码即为修改的授权码,而不是登录邮箱密码。我使用的是网易邮箱,别的邮箱也需开启授权码。如下图:

Python实现发送邮件踩过的坑_第2张图片

3、smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp1......)

解决方法:错误日志里可以点进去查看具体报错的原因。

我的报错原因是:发件人(sender)的邮箱与主题发件人的邮箱(msg['From'])不一致导致,修改为相同即可。代码如下:

sender = '183480×××@163.com'
receiver = ['183480×××@163.com', '10×××@qq.com']

# 构造邮件对象MIMEMultipart对象

msg = MIMEMultipart('mixed')
msg['Subject'] = 'Python email test'
msg['From'] = '×××@163.com <183480×××@163.com>'

最后终于成功发送到qq邮箱。如下图:

 

你可能感兴趣的:(Python)