python发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)

简介:

环境:windows ,python3.2.2

文件形式的邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.text import MIMEText  

  5. from email.header import Header  

  6.   

  7. sender = '***'  

  8. receiver = '***'  

  9. subject = 'python email test'  

  10. smtpserver = 'smtp.163.com'  

  11. username = '***'  

  12. password = '***'  

  13.   

  14. msg = MIMEText('你好','plain','utf-8')#中文需参数‘utf-8’,单字节字符不需要  

  15. msg['Subject'] = Header(subject, 'utf-8')  

  16.   

  17. smtp = smtplib.SMTP()  

  18. smtp.connect('smtp.163.com')  

  19. smtp.login(username, password)  

  20. smtp.sendmail(sender, receiver, msg.as_string())  

  21. smtp.quit()  

HTML形式的邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.text import MIMEText  

  5.   

  6. sender = '***'  

  7. receiver = '***'  

  8. subject = 'python email test'  

  9. smtpserver = 'smtp.163.com'  

  10. username = '***'  

  11. password = '***'  

  12.   

  13. msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8')  

  14.   

  15. msg['Subject'] = subject  

  16.   

  17. smtp = smtplib.SMTP()  

  18. smtp.connect('smtp.163.com')  

  19. smtp.login(username, password)  

  20. smtp.sendmail(sender, receiver, msg.as_string())  

  21. smtp.quit()  

带图片的HTML邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.multipart import MIMEMultipart  

  5. from email.mime.text import MIMEText  

  6. from email.mime.image import MIMEImage  

  7.   

  8. sender = '***'  

  9. receiver = '***'  

  10. subject = 'python email test'  

  11. smtpserver = 'smtp.163.com'  

  12. username = '***'  

  13. password = '***'  

  14.   

  15. msgRoot = MIMEMultipart('related')  

  16. msgRoot['Subject'] = 'test message'  

  17.   

  18. msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>good!','html','utf-8')  

  19. msgRoot.attach(msgText)  

  20.   

  21. fp = open('h:\\python\\1.jpg''rb')  

  22. msgImage = MIMEImage(fp.read())  

  23. fp.close()  

  24.   

  25. msgImage.add_header('Content-ID''<image1>')  

  26. msgRoot.attach(msgImage)  

  27.   

  28. smtp = smtplib.SMTP()  

  29. smtp.connect('smtp.163.com')  

  30. smtp.login(username, password)  

  31. smtp.sendmail(sender, receiver, msgRoot.as_string())  

  32. smtp.quit()  

带附件的邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.multipart import MIMEMultipart  

  5. from email.mime.text import MIMEText  

  6. from email.mime.image import MIMEImage  

  7.   

  8. sender = '***'  

  9. receiver = '***'  

  10. subject = 'python email test'  

  11. smtpserver = 'smtp.163.com'  

  12. username = '***'  

  13. password = '***'  

  14.   

  15. msgRoot = MIMEMultipart('related')  

  16. msgRoot['Subject'] = 'test message'  

  17.   

  18. #构造附件  

  19. att = MIMEText(open('h:\\python\\1.jpg''rb').read(), 'base64''utf-8')  

  20. att["Content-Type"] = 'application/octet-stream'  

  21. att["Content-Disposition"] = 'attachment; filename="1.jpg"'  

  22. msgRoot.attach(att)  

  23.           

  24. smtp = smtplib.SMTP()  

  25. smtp.connect('smtp.163.com')  

  26. smtp.login(username, password)  

  27. smtp.sendmail(sender, receiver, msgRoot.as_string())  

  28. smtp.quit()  

群邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.text import MIMEText  

  5.   

  6. sender = '***'  

  7. receiver = ['***','****',……]  

  8. subject = 'python email test'  

  9. smtpserver = 'smtp.163.com'  

  10. username = '***'  

  11. password = '***'  

  12.   

  13. msg = MIMEText('你好','plain','utf-8')  

  14.   

  15. msg['Subject'] = subject  

  16.   

  17. smtp = smtplib.SMTP()  

  18. smtp.connect('smtp.163.com')  

  19. smtp.login(username, password)  

  20. smtp.sendmail(sender, receiver, msg.as_string())  

  21. smtp.quit()  

各种元素都包含的邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.multipart import MIMEMultipart  

  5. from email.mime.text import MIMEText  

  6. from email.mime.image import MIMEImage  

  7.   

  8. sender = '***'  

  9. receiver = '***'  

  10. subject = 'python email test'  

  11. smtpserver = 'smtp.163.com'  

  12. username = '***'  

  13. password = '***'  

  14.   

  15. # Create message container - the correct MIME type is multipart/alternative.  

  16. msg = MIMEMultipart('alternative')  

  17. msg['Subject'] = "Link"  

  18.   

  19. # Create the body of the message (a plain-text and an HTML version).  

  20. text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"  

  21. html = """\ 

  22. <html> 

  23.   <head></head> 

  24.   <body> 

  25.     <p>Hi!<br> 

  26.        How are you?<br> 

  27.        Here is the <a href="http://www.python.org">link</a> you wanted. 

  28.     </p> 

  29.   </body> 

  30. </html> 

  31. """  

  32.   

  33. # Record the MIME types of both parts - text/plain and text/html.  

  34. part1 = MIMEText(text, 'plain')  

  35. part2 = MIMEText(html, 'html')  

  36.   

  37. # Attach parts into message container.  

  38. # According to RFC 2046, the last part of a multipart message, in this case  

  39. # the HTML message, is best and preferred.  

  40. msg.attach(part1)  

  41. msg.attach(part2)  

  42. #构造附件  

  43. att = MIMEText(open('h:\\python\\1.jpg''rb').read(), 'base64''utf-8')  

  44. att["Content-Type"] = 'application/octet-stream'  

  45. att["Content-Disposition"] = 'attachment; filename="1.jpg"'  

  46. msg.attach(att)  

  47.      

  48. smtp = smtplib.SMTP()  

  49. smtp.connect('smtp.163.com')  

  50. smtp.login(username, password)  

  51. smtp.sendmail(sender, receiver, msg.as_string())  

  52. smtp.quit()  

基于SSL的邮件

[python]  view plain copy

  1. #!/usr/bin/env python3  

  2. #coding: utf-8  

  3. import smtplib  

  4. from email.mime.text import MIMEText  

  5. from email.header import Header  

  6. sender = '***'  

  7. receiver = '***'  

  8. subject = 'python email test'  

  9. smtpserver = 'smtp.163.com'  

  10. username = '***'  

  11. password = '***'  

  12.   

  13. msg = MIMEText('你好','plain','utf-8')#中文需参数‘utf-8’,单字节字符不需要  

  14. msg['Subject'] = Header(subject, 'utf-8')  

  15.   

  16. smtp = smtplib.SMTP()  

  17. smtp.connect('smtp.163.com')  

  18. smtp.ehlo()  

  19. smtp.starttls()  

  20. smtp.ehlo()  

  21. smtp.set_debuglevel(1)  

  22. smtp.login(username, password)  

  23. smtp.sendmail(sender, receiver, msg.as_string())  

  24. smtp.quit()  










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1612999,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
移动开发 JavaScript 前端开发
【Html.js——图片折叠效果】折叠手风琴(蓝桥杯真题-1763)【合集】
本项目实现了一个图片折叠手风琴效果,使用jQuery完成。主要包括以下部分: - **介绍**:任务是通过点击图片实现折叠和展开的效果。 - **准备**:内置初始代码,包含 `css/style.css`、`images/` 文件夹、`js/` 文件夹及 `index.html` 等文件。启动 Web Server 服务可运行项目。 - **目标**:完善 `index.js` 文件,使页面达到预期的折叠效果。 - **规定**:严格按步骤操作,保持默认文件结构不变,并在完成后保持 Web 服务正常访问状态。 - **通关代码**:使用 jQuery 实现点击事件,为选中元素添加 `act
51 19
|
3月前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
112 4
|
4月前
利用html2canvas插件自定义生成名片信息并保存图片
这是一个利用html2canvas插件自定义生成名片信息并保存图片,自定义上传头像,自定义输入个人信息内容,自定义图片名称,并将生成的图片保存到本地
80 1
利用html2canvas插件自定义生成名片信息并保存图片
|
4月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
139 9
|
4月前
|
机器学习/深度学习 自然语言处理 API
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程
如何使用阿里云的语音合成服务(TTS)将文本转换为语音?本文详细介绍了从注册账号、获取密钥到编写Python代码调用TTS服务的全过程。通过简单的代码示例,展示如何将文本转换为自然流畅的语音,适用于有声阅读、智能客服等场景。
1521 3
|
5月前
|
XML 前端开发 数据格式
Beautiful Soup 解析html | python小知识
在数据驱动的时代,网页数据是非常宝贵的资源。很多时候我们需要从网页上提取数据,进行分析和处理。Beautiful Soup 是一个非常流行的 Python 库,可以帮助我们轻松地解析和提取网页中的数据。本文将详细介绍 Beautiful Soup 的基础知识和常用操作,帮助初学者快速入门和精通这一强大的工具。【10月更文挑战第11天】
122 2
|
5月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
99 2
|
5月前
HTML图片
【10月更文挑战第4天】HTML图片。
53 2
|
5月前
|
机器学习/深度学习 自然语言处理 大数据
使用Python进行文本情感分析
【10月更文挑战第2天】使用Python进行文本情感分析
151 3
|
6月前
|
Linux 开发者 iOS开发
Python中使用Colorama库输出彩色文本
Python中使用Colorama库输出彩色文本