原标题:使用Python实现电子邮件群发功能

在某些应用中,可能会需要由管理员给所有用法群发电子邮件,或者类似的应用。本文代码使用Python详细模拟了这个过程。

importemail

fromemail.mime.multipart importMIMEMultipart

fromemail.mime.text importMIMEText

fromemail.mime.image importMIMEImage

fromemail.mime.base importMIMEBase

importsmtplib

sender = '你的电子邮件地址'

username = '你的用户名'

userpwd = '你的电子邮箱密码'

# 这里以126邮箱为例,可以根据需要进行修改

host = 'smtp.126.com'

port = 25

# 要发送的邮件内容

body ='''这是《Python程序设计开发宝典》和《Python可以这样学》的作者董付国发来的测试信息。'''

# 要群发的电子邮件地址

recipients = ('第一个收件人电子邮件地址',

'第二个收件人电子邮件地址',

'第三个收件人电子邮件地址')

# 登录自己的电子邮箱服务器

server = smtplib.SMTP(host, port)

server.starttls()

server.login(username, userpwd)

# 开始群发

forrecipient inrecipients:

# 创建邮件

msg = MIMEMultipart()

msg.set_charset('utf-8')

# 回复地址与发信地址可以不同

# 但是大部分邮件系统在回复时会提示

msg['Reply-to'] ='你的另外一个电子邮件地址'

# 设置发信人、收信人和主题

msg.add_header('From', sender)

msg.add_header('To', recipient)

msg.add_header('Subject', '这是一个测试')

# 设置邮件文字内容

msg.attach(MIMEText(body,'plain',_charset="utf-8"))

# 添加图片

withopen('测试图片.jpg', 'rb') asfp:

msg.attach(MIMEImage(fp.read()))

# 添加附件文件

attachment = MIMEBase('text', 'txt')

withopen('测试附件.txt', 'rb') asfp:

attachment.set_payload(fp.read())

email.encoders.encode_base64(attachment)

attachment.add_header('content-disposition',

'attachment',filename=('utf-8', '', '测试附件.txt'))

msg.attach(attachment)

# 发送邮件

server.send_message(msg)

# 退出邮件服务器

server.quit()

----------喜大普奔----------

1、继《Python程序设计基础》《Python程序设计(第2版)》《Python可以这样学》系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版。为庆祝新书《Python程序设计开发宝典》,清华大学出版社联合“赣江图书专营新书上架期间超低价39.8元

2、10月13日——15日,重庆,全国高校程序设计系列课程高级研究班,详见:全国高校程序设计系列课程高级研修班(Python)通知返回搜狐,查看更多

责任编辑:

用python群发邮件_使用Python实现电子邮件群发功能相关推荐

  1. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  2. 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...

    作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...

  3. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  4. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  5. 网络安全用python吗_使用Python进行网络安全渗透——密码攻击测试器

    相关文章: 本篇将会涉及: HTTP 基本认证 对HTTP Basic认证进行密码暴力攻击测试 什么是HTTP 基本认证 HTTP基本认证(HTTP Basic Authentication)是HTT ...

  6. 动态照片墙 python 实现_利用python生成照片墙的示例代码

    这篇文章主要介绍了利用python生成照片墙的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 PIL(Python Im ...

  7. python字符串_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  8. python 字符识别_使用python进行光学字符识别入门

    python 字符识别 语言模型设计 (Language Model Designing) Optical Character Recognition is the conversion of 2-D ...

  9. matlab代码用python替换_用python替换Matlab

    我是一名工程专业的学生,我必须做大量的数值处理,绘图,模拟等工作.我目前使用的工具是Matlab. 我在大学计算机上使用它来完成大部分任务. 但是,我想知道有哪些可用的免费选项. 我已经做过一些研究, ...

最新文章

  1. Compiere去掉启动时的下面显示的进度条
  2. 【数理知识】《数值分析》李庆扬老师-第2章-插值法
  3. 微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊
  4. mac版crt8.0.2打开无响应怎么办_Mac电脑程序无响应怎么办?教你强制退出无响应程序...
  5. 数据库完整型概念与完整性约束
  6. 齐齐哈尔计算机二级,2020齐齐哈尔市计算机二级报名时间|网上报名入口【8月20日9时开通】...
  7. FlyWeight(享元)
  8. C++ OpenCV 学习笔记【0】- 未整理,草稿记录用
  9. ssm 竞赛管理系统
  10. minitab学习系列(2)--CPK、PPK案例解析
  11. 证件照如何换背景颜色?这几个软件能免费帮你们制作证件照
  12. 安卓手机上最好的3个小说阅读器
  13. Tax Multiplier and Govenment Spending Multiplier
  14. java怎么运行安卓程序_在安卓手机上怎么运行java的应用程序
  15. 阿里云微消息队列 MQTT
  16. 局域网下两个电脑的文件实时传输--python程序
  17. 大疆的精灵4 PRO 相机的一些问题
  18. 客户关系管理软件crm是越早使用越好的软件
  19. oracle rac v3500_OEL6.X IBM v3500存储多路径配置
  20. 四、VUE基础——记事本案例(小黑记事本)

热门文章

  1. 化装晚会(costume)暴力题解
  2. 理查德·帕克”是历史上真实吃人船难…
  3. 【计算机网络】物理层(超多图详析)
  4. 互联网时代背景下“众筹模式”发展文献综述
  5. Axure绘制轮播图
  6. w3shool css study note
  7. 数字孪生的安全挑战和机遇
  8. 微信投票系统源码开源版 投票活动制作平台源码
  9. java微信录音arm转mp3_微信语音amr转mp3
  10. 模拟客户端与服务器端通讯——UDP通讯