(๑•͈ᴗ•͈)❀送花给你

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)

 

posted @ 2021-10-08 16:14  胸前小红花  阅读(116)  评论(0)    收藏  举报