文档章节

Python发邮件示例

kenyon_君羊
 kenyon_君羊
发布于 2015/02/06 11:44
字数 205
阅读 290
收藏 11
最近在同事的帮助下,尝试着用python写了一个发送邮件的小工具,可以省去配置mailrc参数的麻烦。 以下是示例:
[root@his-web152 scripts]# more sendmail.py 
#!/usr/bin/env python2
#coding: utf-8 
import smtplib
import datetime

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

from email.mime.multipart import MIMEMultipart    
from email.mime.text import MIMEText    
from email.mime.image import MIMEImage

sender = 'monitor@163.com'
receiver = ['ywb@163.com','xxx@163.com']
subject = 'Pro_Weekly_DBmonitor'
smtpserver = 'mail.163.com'
username = 'monitor'
password = 'secrets'

#f = open("/dba/dbaBackup/backup.log", "r")
#content = f.read()
#f.close()

content = 'More see the attached file'

msg = MIMEMultipart('related')
msg['Subject'] = 'PostgreSQL_MONITOR'

--获取时间
today=datetime.datetime.now().strftime('%Y-%m-%d')

--要发送的附件
file_name='/home/postgres/report/DB_'+str(today)+'.report.txt'

att = MIMEText(open(file_name,'rb').read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="DB_report.txt"' 
msg.attach(att)

--发送所需要调用的smtp
smtp = smtplib.SMTP()
smtp.connect('mail.163.com')
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
经实践,可用。

© 著作权归作者所有

共有 人打赏支持
kenyon_君羊
粉丝 496
博文 170
码字总数 121714
作品 0
杭州
其他
加载中

评论(1)

Chriesh
Chriesh
马克
Python发送邮件——yagmail模块(0605)

一、使用Python的第三方库 yagmail模块 发送邮件(本文以 QQ 邮箱示例) 1、通过Python的 yagmail模块发送邮件的前提: 开启SMTP服务、开通第三方授权(需要手机短信验证、QQ安全中心验证等)...

python初雪之路
06/05
0
0
Python之父Guido宣布退出核心决策层

昨天,Python 之父 Guido van Rossum 在 Python 邮件组里发邮称,他将退出 Python 核心决策层,而转居幕后。 他在邮件中写道,“我不想再为 PEP(Python 改进提案)[ PEP 572 ] 如此劳心劳力...

全部原谅
07/16
0
0
莽爹昨日发邮宣布退出Python核心决策层

美国时间7月12号,Python之父Guido van Rossum在Python邮件组里发邮称要退出Python核心决策层,而转居幕后。 I would like to remove myself entirely from the decision process. I'll sti...

麦兜搞IT
07/13
0
0
Python_014 SMTP发邮件

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件...

g00m
2015/02/21
0
0
每日一道shell练习(04)

1. 习题 设计一个脚本,监控远程的一台主机(假设 ip地址是110.110.110.114)的存活状态,当发现宕机时发一封邮件给你自己。 提示: 你可以使用 ping 命令 : 脚本可以搞成死循环。 2. 习题分...

hello_cjq
04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
36分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0
Android中的设计模式之命令模式

参考 《设计模式:可复用面向对象软件的基础 》5.2 Command 命令 对象行为型模式 《Android源码设计模式解析与实战》第11章 让程序畅通执行--命令模式 意图 将一个请求封装为一个对象,从而使...

newtrek
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部