python 发送邮件实现方法

前端之家收集整理的这篇文章主要介绍了python 发送邮件实现方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣python 发送邮件实现方法的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
  1. # 编程之家 (jb51.cc)
  2. sendmail.py
  3. #!/usr/bin/python
  4. # -*- coding: UTF-8 -*-
  5. import smtplib
  6. import email.MIMEMultipart
  7. import email.MIMEText
  8. import email.MIMEBase
  9. import sys
  10. #from email.mime.application import MIMEApplication
  11. #import os.path
  12. def sendmail(f_from,f_to,f_cclist,alert_info,f_subject):
  13. From = f_from
  14. To = f_to
  15. #file_name = f_file_name
  16. server = smtplib.SMTP("smtp.xxxx.com.cn")
  17. server.login("xxxx","xxxx")
  18. #构造MIMEMultipart对象做为根容器
  19. main_msg = email.MIMEMultipart.MIMEMultipart()
  20. text_msg = email.MIMEText.MIMEText("您好。<br><br><br><br>"
  21. + alert_info.title() +
  22. "<br>任凤军 <br>"
  23. "xx技术股份有限公司 <br>"
  24. "手机: xx<br>"
  25. "座机:xxx<br>"
  26. "邮箱:xxxx@xx.com<br>"
  27. "地址:xxxx<br>"
  28. "邮编:130011<br>"
  29. "===================================<br>"
  30. "",'HTML','utf-8')
  31. main_msg.attach(text_msg)
  32. #xlsxpart = MIMEApplication(open(file_name,'rb').read())
  33. #xlsxpart.add_header('Content-Disposition','attachment',filename=f_subject+".docx")
  34. #main_msg.attach(xlsxpart)
  35. # 设置根容器属性
  36. main_msg['From'] = From
  37. main_msg['To'] = To
  38. main_msg['Cc'] = ",".join(f_cclist)
  39. main_msg['Subject'] = f_subject
  40. main_msg['Date'] = email.Utils.formatdate()
  41. #f_cclist为完整的需要接收邮件的列表,原本只存放抄送列表,这里需要添加上收件人
  42. f_cclist.append(To)
  43. # 得到格式化后的完整文本
  44. fullText = main_msg.as_string()
  45. # 用smtp发送邮件
  46. try:
  47. server.sendmail(From,fullText)
  48. finally:
  49. server.quit()
  50. if __name__ == "__main__":
  51. #sys.setdefaultencoding('utf-8')
  52. message= [
  53. 'Usage:',' sendmail.py "topic" "mail body text" "mail to"','Examples of usage:',' sendmail.py "topic" "hello world" "14638852@qq.com"',]
  54. try:
  55. topic = str(sys.argv[1]).encode("utf-8")
  56. alert = str(sys.argv[2]).encode("utf-8")
  57. mailto = str(sys.argv[3]).encode("utf-8")
  58. except IndexError:
  59. for line in message:
  60. print line+'\n'
  61. sys.exit()
  62. cclist=[]
  63. #clist =[]
  64. sendmail("xxxx@xxx",mailto,cclist,alert,topic)
  65. 备注:
  66. sendmail("xxxx@gmail.com",topic)
  67. 发件人,收件人,抄送列表,正文内容邮件标题
  68. Usage:
  69. sendmail.py "topic" "mail body text" "mail to"
  70. Examples of usage:
  71. sendmail.py "topic" "hello world" "14638852@qq.com"
  72. ./sendmail.py "topic" "hello world" "14638852@qq.com"
  73. # End 512.笔记 jb51.cc
smtp以及邮件的签名,还有发件人为定值,需要自己修改

猜你在找的Python相关文章