python:自动化处理邮件
自动发送邮件
第一步,需要获取SMTP授权码,在qq邮箱设置中开启POP3/SMTP服务,即可获取到SMTP授权码。
简单文本格式的代码
import smtplib
from email.mime.text import MIMEText
user='*@qq.com'#发件人邮箱
code='*'#邮箱的SMTP授权码
to='*@qq.com'#收件人邮箱
def demo_Func():
message=MIMEText('正文内容')
message['Subject']='邮件主题'
message['From']=user
message['To']=to
#登录邮箱
server=smtplib.SMTP_SSL('smtp.qq.com',465)
server.login(user,code)
server.send_message(message)#发送邮件
server.quit()
发送HTML格式邮件
指邮件的内容就像网页一样,可以设置不同的格式,还可以包含跳转到其他网页的链接。
def demo_Func2():
#存在换行,需要用三个单引号
mail_message = '''
<p>段落内容</p>
<p><a href="www.baidu.com">包含链接的段落</a></p>
'''
message=MIMEText(mail_message,'html','utf-8')
message['Subject']='邮件主题'
message['From']=user
message['To']=to
#登录邮箱
server=smtplib.SMTP_SSL('smtp.qq.com',465)
server.login(user,code)
server.send_message(message)#发送邮件
server.quit()
发送带附件的邮件
from email.mime.multipart import MIMEMultipart
#发送带附件的邮件
def demo_Func3():
mail_message = '''
<p>段落内容</p>
<p><a href="www.baidu.com">包含链接的段落</a></p>
'''
#添加附件代码
message=MIMEMultipart()#可同时容纳正文和附件
message.attach(MIMEText(mail_message,'html','utf-8'))
attachment1=MIMEText(open('E:\\Pdf文件\\新建文本文档.txt','rb').read(),'base64','utf-8')#设置本地文件的路径
attachment1['Content-Type']='application/octet-stream'
attachment1.add_header('Content-Disposition','attachment',filename=('utf-8','','题库.txt'))#设置发送过去显示附件的名字
message.attach(attachment1)
message['Subject']='邮件主题'
message['From']=user
message['To']=to
server=smtplib.SMTP_SSL('smtp.qq.com',465)
server.login(user,code)
server.send_message(message)
server.quit()
定时发送邮件
#定时发送邮件
import schedule
import time
def e_mail():
print('发送邮件')
def demo_Func3():
schedule.every().day.at('11:30').do(e_mail)
schedule.every(5).minutes.do(e_mail)
schedule.every().hour.do(e_mail)
schedule.every().monday.at('11:30').do(e_mail)
while True:
schedule.run_pending()
time.sleep(10)

浙公网安备 33010602011771号