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 定时发送邮件的更多相关文章

  1. python (18)在linux中如何实现定时发送邮件

    最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...

  2. python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务

    最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...

  3. python定时利用QQ邮件发送天气预报

    大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...

  4. odoo定时发送邮件

    采购订单延迟或者存在部分到货的情况,定时发送邮件给相关人员 包含,采购订单明细,订单数量,已到货数量,未到货数量 <?xml version="1.0" encoding=& ...

  5. VBS实现定时发送邮件

    原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configu ...

  6. 用python定时文章发布wordpress

    用python定时文章发布wordpress: 流程: 采集 - 筛选文章 - wordpress文章发布. wordpress文章发布代码:python利用模块xmlrpclib发布文章非常便捷,省 ...

  7. spring利用javamail,quartz定时发送邮件 <转>

    原文地址:spring利用javamail,quartz定时发送邮件 <转>作者:物是人非 spring提供的定时发送邮件功能,下面是一个简单的例子以供大家参考,首先从spring配置文件 ...

  8. java实现qq邮箱每天定时发送邮件

    本周四的时候去学校的某机构值班,主要工作是帮老师送文件,干一些杂活.那天没有什么活儿,于是想起用Java实现发送邮件和接收邮件的功能.前几天接触过一点quartz框架,用来实现定时开始任务的功能.于是 ...

  9. python大法好——Python SMTP发送邮件

    Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...

  10. Python——SMTP发送邮件

    一.定义 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.python的smtplib ...

随机推荐

  1. 「国产系统」Tubian 0.3,兼容Windows和Android的GNU/Linux系统!

    0.4版已发布:https://www.cnblogs.com/tubentubentu/p/16741197.html Sourceforge.net主页(提供下载):https://sourcef ...

  2. 原生js的懒人轮播图

    <style> body{ margin: 0; padding: 0px;}#carousel{ margin: auto; /* 居中 */ width: 600px; /* 设置宽度 ...

  3. 规则引擎深度对比,LiteFlow vs Drools!

    前言 Drools是一款老牌的java规则引擎框架,早在十几年前,我刚工作的时候,曾在一家第三方支付企业工作.在核心的支付路由层面我记得就是用Drools来做的. 难能可贵的是,Drools这个项目在 ...

  4. web前端一览&jQuery

    web前端一览 html:裸体 css:好看的衣服            //通常基于bootstrap魔改 JavaScript:动起来           //通常基于JQuery魔改 jQuer ...

  5. 通过刷题HTML遇到的问题

    通过刷题HTML遇到的问题 1.有关选择器的权重问题 1.通配符选择器和继承:权重为0, 2.标签选择器:权重为0001 3.类选择器:权重为0010 4.id选择器:权重为0100 5.行内样式:权 ...

  6. grpc中的拦截器

    0.1.索引 https://waterflow.link/articles/1665853719750 当我们编写 HTTP 应用程序时,您可以使用 HTTP 中间件包装特定于路由的应用程序处理程序 ...

  7. NLP之基于BERT的预测掩码标记和句间关系判断

    BERT @ 目录 BERT 程序步骤 程序步骤 设置基本变量值,数据预处理 构建输入样本 在样本集中随机选取a和b两个句子 把ab两个句子合并为1个模型输入句,在句首加入分类符CLS,在ab中间和句 ...

  8. 1.轮询、长轮询、websocket简介

    一.轮询 前端每隔固定时间向后台发送一次请求,询问服务器是否有新数据   缺点: 延迟,需要固定的轮询时间,不一定是实时数据 大量耗费服务器内存和宽带资源,因为不停的请求服务器,很多时候 并没有新的数 ...

  9. 【JavaWeb】学习笔记——Servlet、Filter、Listenter

    Servlet Servlet 简介 Servlet 是 Java提供的一门动态web资源开发技术 Servlet 是JavaEE 规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Se ...

  10. SpringCloud(二) - Eureka注册中心,feign远程调用,hystrix降级和熔断

    1.项目模块介绍 2. 父项目 主要依赖 spring-cloud 的 版本控制 <properties> <!-- springCloud 版本 --> <scd.ve ...