以下程序均来自《Python.UNIX和Linux系统管理指南》

sendemail.py
#!/usr/bin/env python
import smtplib
mail_server = 'smtp.163.com'
mail_server_port = 25
from_addr = 'from_username@163.com'
to_addr = 'to_username@163.com'
from_header = 'From: %s\r\n' % from_addr
to_header = 'To: %s\r\n\r\n' % to_addr
subject_header = 'Subject: nothing interesting'
body = 'This is a not very interesting email.'
email_message = '%s\n%s\n%s\n\n%s' %(from_header, to_header, subject_header, body)
s = smtplib.SMTP(mail_server, mail_server_port)
s.set_debuglevel(1)
s.starttls()
s.login("username", "password")
s.sendmail(from_addr, to_addr, email_message)
s.quit()

下面的程序是发送带附件的邮件

email_p_w_upload.py
#!/usr/bin/env python
import email
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import encoders
import smtplib
import mimetypes
mail_server = 'smtp.163.com'
mail_server_port = 25
from_addr = "from_username@163.com"
to_addr = "to_usrename@163.com"
subject_header = 'Subject: Sending PDF Attachment'
p_w_upload = 'disk_report.pdf'
body = '''
this message sends a PDF p_w_upload created with Report Lab.
'''
m = MIMEMultipart()
m['To'] = to_addr
m['From'] = from_addr
m['Subject'] = subject_header
ctype, encoding = mimetypes.guess_type(p_w_upload)
print ctype, encoding
maintype, subtype = ctype.split('/', 1)
print maintype, subtype
m.attach(MIMEText(body))
fp = open(p_w_upload, 'rb')
msg = MIMEBase(maintype, subtype)
msg.set_payload(fp.read())
fp.close()
encoders.encode_base64(msg)
msg.add_header("Content-Disposition", "p_w_upload", filename=p_w_upload)
m.attach(msg)
s = smtplib.SMTP(mail_server, mail_server_port)
s.set_debuglevel(1)
s.starttls()
s.login("username", "password")
s.sendmail(from_addr, to_addr, m.as_string())
s.quit()

效果

转载于:https://blog.51cto.com/ghostid/1226356

python 发送email相关推荐

  1. Python 发送 email 的三种方式

    Python发送email的三种方式,分别为使用登录邮件服务器.使用smtp服务.调用sendmail命令来发送三种方法 本文原文自米扑博客:Python 发送 email 的三种方式 Python发 ...

  2. 【转载】如何用Python发送Email邮件?

    文章目录 综述 连接SMTP服务器 登录SMTP服务器 如何获得邮箱授权码 通过SSL登录SMPT服务器 发送\抄送文本邮件 密送文本邮件 发送HTML邮件 参考 综述 用代码发送Email,在很多场 ...

  3. 常见邮箱开启 SMTP 服务及 Python 发送 email 详细说明

    原文由wangle发表于TesterHome社区,点击原文链接可与作者直接交流. 一.开启邮箱 SMTP 服务 发送邮件需要使用 SMTP 服务器,常用的免费服务器有:163.126.qq 等邮箱. ...

  4. python发送email

    第一种方法: Python代码   # -*- coding: utf-8 -*- import email import mimetypes from email.MIMEMultipart imp ...

  5. python 发送email到qq

    首先要去qq邮箱的设置里设置-账户-开启POP3/SMTP服务 !/usr/bin/python -- coding: UTF-8 -- from email.mime.text import MIM ...

  6. 用python发送email

    #coding:utf-8from email.header import Headerfrom email.mime.text import MIMETextfrom email.utils imp ...

  7. python 发邮件 抄送_Python发送email的3种方法

    python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送 ...

  8. email python_神器:让python发送电子邮件像傻瓜一样简单

    用过python其他邮件模块老铁们吼一声--tm是给人用的吗? py3_email超简单,超易用. 以近乎傻瓜式的方式发送邮件 到底有多简单,请看:添加标题: add_title() 添加文本: ad ...

  9. python发送给邮件 转

    这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件"包裹".使用 ...

最新文章

  1. 计算机电缆djyvp工艺,计算机电缆dJyvP相关办法.pdf
  2. php全局变量的关键字,php的static关键字和全局变量
  3. Slog15_支配vue框架模版语法之v-else
  4. 综合布线屏蔽系统的现状与应用
  5. 2022最新软件库iApp源码+简约唯美/对接hybbs
  6. 分享四个黑科技app,每一个都让你好用到停不下来
  7. 冒泡排序(Java)(完整代码)
  8. 电感的工作原理与作用
  9. 张博增是谁?为什么说他开启石墨烯的2.0时代!
  10. 台式计算机用u盘给电脑安装系统,台式机用u盘装系统,教您用u盘装系统给台式机...
  11. Chapter 8 Part-of-Speech Tagging
  12. 项目npm install报错gyp info it worked if it ends with ok
  13. 高校wifi认证登录
  14. 莆系如何投放快手广告?
  15. vue中的表单数据提交
  16. windows下搭建ITS运行环境
  17. 手机开机密码忘记了怎么办?
  18. 0xC000005:Access Violation和指针强制转换问题
  19. 如何取消浏览器护眼色 Lodop打印图片有窗口颜色的边框
  20. 新华社中移动共建搜索引擎

热门文章

  1. [Javascript]史上最短的IE浏览器判断代码
  2. 实施质量成本管理的五项注意
  3. 再学 GDI+[77]: 区域(6) - GetRegionScans - 获取区域中的所有矩形
  4. pytho---之easydict使用
  5. LabView学习笔记(八):属性节点
  6. html5动画在线制作工具,KoolShow-KoolShow(HTML5动画制作工具) v2.4.4 官方版-CE安全网...
  7. mysql 模糊查询 s_MySql反向模糊查询
  8. python 编辑距离 2组匹配_Python文本相似性计算之编辑距离详解
  9. java webservice用户验证_java webservice 用户验证 (服务端 + 客户端)
  10. Android Realm数据库