发送邮件的python脚本
一直再找linux下 用shell 发送邮件的方法。找了好长时间也没有找到,最终决点用python 的email模块发送邮件,在网上找了一下代码。
转自: 李卫公的长安城
http://blog.donews.com/maverick/archive/2007/04/22/1159142.aspx
再此表示感谢
#!/usr/bin/python
# -*- coding: utf-8 -*-
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
def sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText):
strFrom = fromAdd
strTo = ', '.join(toAdd)
server = authInfo.get('server')
user = authInfo.get('user')
passwd = authInfo.get('password')
if not (server and user and passwd) :
print 'incomplete login info, exit now'
return
# 设定root信息
msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = subject
msgRoot['From'] = strFrom
msgRoot['To'] = strTo
msgRoot.preamble = 'This is a multi-part message in MIME format.'
# Encapsulate the plain and HTML versions of the message body in an
# 'alternative' part, so message agents can decide which they want to display.
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
#设定纯文本信息
msgText = MIMEText(plainText, 'plain', 'utf-8')
msgAlternative.attach(msgText)
#设定HTML信息
msgText = MIMEText(htmlText, 'html', 'utf-8')
msgAlternative.attach(msgText)
#设定内置图片信息
fp = open('test.jpg', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)
#发送邮件
smtp = smtplib.SMTP()
#设定调试级别,依情况而定
smtp.set_debuglevel(1)
smtp.connect(server)
smtp.login(user, passwd)
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()
return
if __name__ == '__main__' :
authInfo = {}
authInfo['server'] = 'smtp.somehost.com'
authInfo['user'] = 'username'
authInfo['password'] = 'password'
fromAdd = 'username@somehost.com'
toAdd = ['someone@somehost.com', 'other@somehost.com']
subject = '邮件主题'
plainText = '这里是普通文本'
htmlText = '<B>HTML文本</B>'
sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
发送邮件的python脚本相关推荐
- linux发邮件到126,使用126邮箱发送邮件的python脚本
使用126邮箱发送邮件的python脚本: 注: 1.密码处是126邮箱的授权码,非登录密码 vi mail.py #!/usr/bin/python #coding=utf-8 import smt ...
- python脚本实现qq邮箱发送邮件
直接调用python自带得smtplib 库和 email 库就能实现邮件的发送 qq邮箱发送邮件需要在qq邮箱中设置开启qq邮箱授权码 进入网页版qq邮箱,点击设置,找到账户设置 下拉到最下面 生成 ...
- python自动发邮件 foxmail_使用 python 脚本实现自动监控网站并发送邮件告警
今天中午的时候,网站莫名奇妙地出现无法访问的现象,持续了两个多小时,等发现问题的时候立刻重启了服务器才恢复正常.为防止同样的事情再次发生,所以就想编写一个自动化脚本来监控网站服务,今天为大家分享一下使 ...
- 使用Python脚本发送邮件,邮件格式为表格
2020年自己为了美化邮件格式写的脚本,有需要的可以取用,直接上脚本: 一.要发送的原始文件格式 cat /tmp/dzg-test a1|b1|c1 a2|b2|c2 a3|b3|c3 二.Pyth ...
- python运维脚本部署jdk_Jenkins自动执行Python脚本,并输出测试报告
这段时间,在家时间自由(除了睡觉8小时,其他时间都在工作和学习),有大把的时间实操练习一些硬技能: 今天,更新一篇利用Jenkins这套框架,调用Python自动化脚本,并输出测试报告的手把手实操文章 ...
- jenkins 手动执行_想知道如何用Jenkins自动执行Python脚本输出测试报告?
前言在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作.借助Jenkins,我们可以结合 Git/SVN 自动拉取代码 ...
- Zabbix3.2邮件告警python脚本
一.概述及环境要求 1.概述 zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法.之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题.2.环境安 ...
- crontab python不生效_crontab 中 python 脚本执行失败的解决方法
写服务器程序的免不了要经常和 crontab 打交道,定时执行一些脚本什么的.大部分情况下都是 bash 的一些 shell 脚本,但 shell 我不是很熟悉,于是在很多情况下都直接写 Python ...
- 腾讯云自动巡检python脚本
腾讯云自动巡检python脚本 最近在帮客户弄腾讯云自动脚本巡检的问题,并且需要部署在docker上,所以把问题记录一下: 由于腾讯云的api最近在更新,但是V3版本的api还没有完全发布,所以要两个 ...
- python脚本+任务计划-监测守护合同系统
python脚本+任务计划-监测守护合同系统 1 背景 2 原流程 3 针对问题的想法 4 流程优化 5 实际操作 5.1 编制监测脚本 5.2 编制启动脚本 5.3 创建定时任务 5.3.1 服务器 ...
最新文章
- 应用层级时空记忆模型(HTM)实现对时序数据的异常检测
- 【译】Android系统简介—— Activity
- python爬虫入门实例-Python爬虫天气预报实例详解(小白入门)
- linux创建更改目录,如何使用Linux中的单个命令创建新目录并更改它 | MOS86
- 析构函数与构造函数的调用
- 【TensorFlow-windows】学习笔记八——简化网络书写
- Redis构建分布式锁——Redlock
- 【APICloud系列|22】 videoPlayer模块(视频播放)的实现
- 转HTML、CSS、font-family:中文字体的英文名称
- 园林系统优秀党员推荐材料_园林绿化公司党员先进个人事迹材料
- 基准软件测试原理,基准测试
- vmware虚拟化服务器cpu超线程,VMware vSphere的配置方法最佳方案从而提高性能
- 操作系统|操作系统概述
- JavaScript之字符串类型
- 易了千明之易语言套装视频教程第四套辅助制作
- iOS 设置导航栏全透明
- 吉他演奏中的速度与节拍
- MySql版本号查看命令
- 全网首发!老大众奥迪碟盒通信协议破解,可以模拟数码碟盒,外接AUX蓝牙U盘等音频设备
- 一盒两用——破解移动IPTV机顶盒为两用安卓机顶盒
热门文章
- C#之Application.DoEvents()
- poj 3841 Double Queue (AVL树入门)
- LNMP笔记:安装 Xcache 缓存扩展,降低服务器负载
- 以下内容为Stackoverflow上整理以作纪录
- -webkit-text-size-adjust
- C#中Font类详解
- Windows Phone开发之路(6) XAML基础(下)
- ModuleNotFoundError: No module named ‘pyemd‘ 解决
- 基于BERT的ASR纠错
- 惊叹 | 膜拜一下清华大学特等奖学金的学霸大佬们的简历! -- 我们没有理由不努力!...