python3 发邮件实例(包括:文本、html、图片、附件、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.   
  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','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('Some HTML text and an image.

    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''' 
  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.  
  23.    
  24.    
  25.     

    Hi!
     

  26.        How are you?
     
  27.        Here is the link you wanted. 
  28.     

     
  29.    
  30.  
  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 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()
  25. 转载 原文地址:
  26. http://blog.sina.com.cn/s/blog_77ca69890101eo9x.html

qq、126邮箱都用授权码
qq邮箱要用ssl

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值