python 定时发送邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header def send_email(sender, receiver, text, subject):
"""
发送纯文本邮件
:param sender:
:param receiver:
:param text:
:param subject:
:return:
"""
mail_host = 'smtp.qq.com' # qq邮箱服务地址
smt = smtplib.SMTP() # #实例化SMTP类,这样就可以调用SMTP对象的方法和属性
smt.connect(mail_host, '25') # 连接服务器,第二个参数为端口号
password = "mmmmmm" # 邮箱登录密码(需要进入qq邮箱->设置->账号->获取密码)
try:
smt.login(sender, password) # 登录邮箱,第一参数是发件人邮箱账号、第二个为邮箱登录密码
message = MIMEText(text, 'plain', 'utf-8') # 实例化一个MIMEText邮件对象,该对象需要写进三个参数,分别是邮件正文,文本格式和编码
message['Subject'] = Header(subject, 'utf-8') # 邮件标题
try:
smt.sendmail(sender, receiver, message.as_string()) # 发送邮件操作
print("邮件发送成功")
except:
print("邮件发送失败")
except:
print("登录失败,请检测邮箱、密码是否正确")
smt.quit() # 退出邮箱
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header def send_file(sender, receiver, file, subject):
"""
发送带附件的邮件
:param sender:
:param receiver:
:param data:
:param subject:
:return:
"""
addr = 'smtp.qq.com'
smt = smtplib.SMTP()
smt.connect(addr, '25')
password = "mmmmmm"
smt.login(sender, password) message = MIMEMultipart()
message['Subject'] = Header(subject, 'utf-8')
message['From'] = Header(sender, 'utf-8')
message['To'] = Header(receiver, 'utf-8')
message.attach(MIMEText("最近一周天气情况", 'plain', 'utf-8'))
att1 = MIMEText(open(file, 'rb').read(), 'base64', 'utf-8')
att1['Content-Type'] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment, filename="weather.txt'
message.attach(att1) smt.sendmail(sender, receiver, message.as_string())
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
import schedule
import time def job():
"""
定时发送邮件
:return:
"""
file = writer_data(get_data())
send_file(sender, receiver, file, subject) schedule.every(2).minutes.do(job) while True:
schedule.run_pending()
time.sleep(2)
python 定时发送邮件的更多相关文章
- python (18)在linux中如何实现定时发送邮件
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- python定时利用QQ邮件发送天气预报
大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...
- odoo定时发送邮件
采购订单延迟或者存在部分到货的情况,定时发送邮件给相关人员 包含,采购订单明细,订单数量,已到货数量,未到货数量 <?xml version="1.0" encoding=& ...
- VBS实现定时发送邮件
原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configu ...
- 用python定时文章发布wordpress
用python定时文章发布wordpress: 流程: 采集 - 筛选文章 - wordpress文章发布. wordpress文章发布代码:python利用模块xmlrpclib发布文章非常便捷,省 ...
- spring利用javamail,quartz定时发送邮件 <转>
原文地址:spring利用javamail,quartz定时发送邮件 <转>作者:物是人非 spring提供的定时发送邮件功能,下面是一个简单的例子以供大家参考,首先从spring配置文件 ...
- java实现qq邮箱每天定时发送邮件
本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是 ...
- python大法好——Python SMTP发送邮件
Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...
- Python——SMTP发送邮件
一.定义 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.python的smtplib ...
随机推荐
- 详解JS中 call 方法的实现
摘要:本文将全面的,详细解析call方法的实现原理 本文分享自华为云社区<关于 JavaScript 中 call 方法的实现,附带详细解析!>,作者:CoderBin. 本文将全面的,详 ...
- C#-6 运算符和语句
一 运算符重载 可以重定义或重载 C# 中内置的运算符. 重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的. public static Box operato ...
- .net程序员的android studio 初体验 (环境设置2022年10月)
很久以前用DevExtreme写的一个Hybird APP要添加蓝牙打印功能,但是用来打包APP的phonegap被adobe关闭了,所以,只能自己用cordova去打包安卓APP,不得已,研究了 ...
- fileinput 的总结
fileinput组件实战总结 fileinput是一个增强的基于Bootstrap3.x和HTML5的文件上传工具,具备多种格式文件的预览功能, 另外,它包含了基于AJAX的上传,拖拽和撤销文件,可 ...
- windows C++ 异常调用栈简析
楔子 以win11 + vs2022运行VC++ 编译观察的结果. 如果安装了Visual Studio 2022,比如安装在D盘,则路径: D:\Visual Studio\IDE\VC\Tools ...
- 右击存放项目的文件夹出现 open with Visual Studio Code 的打开方式
最终效果 步骤1: 找到 Visual Studio Code 的安装位置 (右击桌面Visual Studio Code 图标-->属性-->打开文件夹所在位置) 新建一个可以编辑的 c ...
- 【python】Ubuntu中多条命令的运行
在模型训练时,往往需要消融实验,通常都是在一个程序运行结束后才再次手动运行下一个,不及时在电脑前可能无端浪费时间,因此需要让程序自动一个接一个去执行.受此启发,特了解了Ubuntu中多命令运行的内容. ...
- instanceof的使用和向下转型
x instanceof A:检验x是否为类A的对象,返回值为boolean型 使用情境:为了避免在向下转型时出现ClassCastException的异常,我们在向下转型之前,先进行instance ...
- 4.MongoDB系列之索引(一)
1. 执行计划查看 db.getCollection('users').find({'username': 'shenjian'}).explain('executionStats') 结果查看,先大 ...
- Seata 环境搭建
在使用微服务中,单体事务注解@Transactional 就不适用了,需要采用分布式事务解决方案,本文介绍分布式事务Seata的安装.Seata一款开源的分布式事务解决方案,致力于在微服务架构下提供高 ...