python实现自动发邮件功能

python使用request库把响应结果写入excel
python爬虫爬完存入数据库
Mysql数据库,安装,卸载,修改密码,连接等笔记

前面写的是存入数据库,现在写下发邮件

获取邮箱的授权码

发邮件需要先拿到邮箱的授权码,我选的是qq邮箱
在设置-账户 里现在生成授权码,然后按提示发短信就能拿到一串数字

在这里插入图片描述

邮箱配置代码部分

接下来是代码部分,前面的拿数据和解析数据就不再赘述了,都是一样的,发邮件需要用到

import smtplib
from email.mime.text import MIMEText
from email.header import Header

写一个函数,先设置邮箱信息,再定义邮件内容,以下为完整代码:

def sendMail():
    from_addr = "邮箱名称@qq.com"  # 发送邮箱
    password = "刚刚拿到的授权码"  # 邮箱授权码
    to_addr = "邮箱名称@qq.com"  # 接收邮箱
    mailhost = "smtp.qq.com"  # qq邮箱的smtp地址
    
    qqmail = smtplib.SMTP()  # 建立SMTP对象
    qqmail.connect(mailhost, 25)  # 25为SMTP常用端口
    qqmail.login(from_addr, password)  # 登录邮箱

    content = ""
    for new in workData():  # 拼接邮件内容字符串,这里假设workData()方法里已经有想要的数据useDate、useAllmoney
        content += (
            "useDate:"
            + str(new[0])
            + "\n"
            + "useAllmoney:"
            + str(new[3])
            + "\n"
        )
        content += (
            "---\n---"
        )
	subject=("这是邮件标题")
	msg = MIMEText(content, "plain", "utf-8")
    msg["subject"] = Header(subject, "utf-8")    
    try:
        qqmail.sendmail(from_addr, to_addr, msg.as_string())
        print("发送成功")
    except:
        print("发送失败")
    qqmail.quit()
sendMail()#手动调用测试一下

运行后就收到邮件啦。

定时执行

定时任务需要导入定时模块

# 定时模块
import schedule

# 设定每天早上8点执行任务
schedule.every().day.at("08:00").do(job)
while True:
    try:
         schedule.run_pending()  # 运行所有可以运行的任务
         time.sleep(1)
         
    except Exception as e:
         time.sleep(1)
         print(e)

定时任务的频率也可以根据自己的需求去写

schedule.every(10).seconds.do(main)              # 每隔 10 分钟运行一次 main函数
schedule.every(10).minutes.do(main)               # 每隔 10 分钟运行一次 main函数
schedule.every().hour.do(main)                    # 每隔 1 小时运行一次 main函数
schedule.every().day.at("10:30").do(main)         # 每天在 10:30 时间点运行 main 函数
schedule.every().monday.at("08:15").do(main)   # 每周一 08:15 时间点运行 main函数
schedule.every().minute.at(":15").do(main)        # 每分钟的 15 秒时间点运行 main函数

以上。
有帮助请帮我点个赞吧。。谢谢~

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值