歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 通過Python群發郵件並支持模板

通過Python群發郵件並支持模板

日期:2017/3/1 10:14:00   编辑:Linux編程

需求:

公司使用SVN,建立用戶,密碼,分配權限,為了保證安全性,密碼隨機生成並通過郵件發送給每個人

資源:

1、會一份表格,中有如下字段:

mail, passwd, name, team, rank

郵箱,密碼,姓名,部門,職位

2、郵件的模板:

%s,您好:
系統為您分配了SVN用戶名和密碼
用戶名:%s(即您的郵箱地址)
密 碼:%s(系統自動分配,不能修改,系統將定期修改並發郵件給大家)

....

主要要帶進去,姓名,郵箱地址,密碼

上代碼:

  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #@author [email protected]
  4. #@version 2012-02-22 09:20
  5. import time
  6. import csv
  7. import smtplib
  8. from email.MIMEText import MIMEText
  9. from email.MIMEMultipart import MIMEMultipart
  10. from email.Header import Header
  11. mail_host = "smtp.xxx.cn"
  12. mail_from = "[email protected]"
  13. mail_user = mail_from
  14. mail_password = "不告訴你"
  15. mail_subject = "[SVN密碼通知]重要!此郵件請不要刪除!"
  16. mail_template_file = "郵件模板.txt"
  17. mail_password_file = "SVN密碼.csv"
  18. def send_mail(mail_to, subject, body):
  19. msg = MIMEMultipart()
  20. msg['subject'] = Header(subject,'utf-8')
  21. msg['from'] = mail_from
  22. msg['to'] = mail_to
  23. msg['date'] = time.ctime()
  24. txt = MIMEText(body, 'plain', 'utf-8')
  25. msg.attach(txt)
  26. try:
  27. s = smtplib.SMTP()
  28. s.connect(mail_host)
  29. s.login(mail_user, mail_password)
  30. s.sendmail(mail_from, mail_to, msg.as_string())
  31. s.close()
  32. return True
  33. except Exception, e:
  34. print str(e)
  35. return False
  36. if __name__ == '__main__':
  37. subject = mail_subject
  38. content = open(mail_template_file).read()
  39. reader = csv.reader(open(mail_password_file))
  40. for mail, passwd, name, team, rank in reader:
  41. print mail, passwd, name.decode('utf-8'), team.decode('utf-8')
  42. body = content %(name, mail, passwd)
  43. print "DEBUG:sending mail to %s" %(mail)
  44. if send_mail(mail, subject, body):
  45. print "INFO:success to send mail to %s" %(mail)
  46. else:
  47. print "ERROR:fail to send mail to %s" %(mail)
  48. print "done...python is great!"
Copyright © Linux教程網 All Rights Reserved