Python:发送qq邮箱只需几行代码轻松搞定

28 篇文章 2 订阅
16 篇文章 1 订阅

一、前言

在日常业务中,经常会遇到需要程序发邮件提醒自己的情况。例如数据异常、工作任务进度完成情况、今日天气、今日股票行情等各种场景。如果引入发送邮箱以推进预期进度的功能,那将大大优化我们的日常。我也是近期在写国债逆回购的监控脚本时想起来用邮箱来提醒我去交易,以免错过了白嫖利息的时间,同时提高自己闲钱的利用率。

二、前期准备

  1. qq邮箱,发送邮件用的一个,接收邮件的可以多个

  2. 手机号,绑定qq邮箱用

  3. 开通SMTP邮箱服务:
    点击左上角“设置”
    在这里插入图片描述
    点击“账号”
    在这里插入图片描述
    下方有个“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”,点击开通服务(需要绑定手机号),然后就能拿到授权码。
    在这里插入图片描述

  4. Python 3.0+

三、代码实现

    
import smtplib
from email.mime.text import MIMEText

def send_email():
    # 设置邮箱账号
    account = "xxx@qq.com"
    # 设置邮箱授权码
    token = "xxx"
    # 实例化smtp对象,设置邮箱服务器,端口
    smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
    
    # 登录qq邮箱
    smtp.login(account, token)
	# 设置要发送的文本
    content = 'Hello world ! code_space '
    # 创建邮件对象,plain是文本类型
    email_content = MIMEText(content, 'plain', 'utf-8')

    # 设置发送者信息
    email_content['From'] = 'xxx@qq.com'
    # 设置接受者信息
    email_content['To'] = 'code_space接收'
    # 设置邮件标题
    email_content['Subject'] = '来自code_space的一封信,提醒你前去完成任务'

    # 发送邮件
    smtp.sendmail(account, 'xxx@qq.com', email_content.as_string())
    # 关闭邮箱服务
    smtp.quit()
if __name__ == '__main__':
    send_email()

四、拓展

  1. 有了发送邮箱的核心代码,我们可以搭配windows/linux定时脚本去定时执行。

  2. 接着我写的监控国债逆回购的脚本,可以实现这样一个需求:

    • 交易日的9:30~14:30期间,爬虫每分钟监控利率
    • 当交易日的9:30~14:30期间的利率达到4.0%时, 发送邮件给自己去交易
    • 当日提醒后关闭爬虫,默认我已经收到提醒并且去完成交易了
      在这里插入图片描述
  3. 善学善用才是程序员的正确方向。

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_space

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值