本人Python小白,最近练习Python中
本次使用了smtplib库进行邮件发送,连带了使用while循环重复发送10次相同邮件(貌似次数设置多了以后会被网易拦截)
代码如下:
"""
本段代码使用smtplib库发送邮件
MIMEText为文本内容
while循环更改次数为循环执行,多次执行可发送多份邮件至对方邮箱
并打印出第x次发送成功字样
"""
# import smtplib库,来进行邮箱的链接
import smtplib
# 处理邮件内容,MIMEText为文本内容
from email.mime.text import MIMEText
# 编写一封邮件
# 邮件正文
content = "test"
# 三个参数:第一个为文本内容,第二个plain设置文本格式,第三个utf-8设置编码
msg = MIMEText(content, 'plain', 'utf-8')
# 定义邮件主题,即邮件标题
msg['Subject'] = "test Python sendmail. from XXXXXX"
# 发件人(发件人邮箱,后续需要输入邮箱授权码)
msg['From'] = "xxxxxx@163.com"
# 收件人邮箱
msg['To'] = "xxxxxxxx@163.com"
# ----发送邮件----
# 第一参数是SMTP服务器,第二参数是端口
smtp = smtplib.SMTP_SSL('smtp.163.com', port=465)
# 使用用户用户名和授权码登录
smtp.login('xxxxxxxxxxxx@163.com', '邮箱授权码,登录邮箱后复制到这里')
# 三个参数,发件人,收件人,as_string是将msg(MIMRText或MIMEMultipart)变为str
# smtp.sendmail('jiangenze2018@163.com', 'enzeejiang@163.com', msg.as_string())
# 以下为多次循环发送
i = 0
while i < 10:
i += 1
smtp.sendmail('jiangenze2018@163.com', 'enzeejiang@163.com',
msg.as_string())
print('第', i, '次发送,成功')
smtp.quit()
执行结果如下:
控制台输出如下:
文本内容为print输出