自動發送郵件功能是我們經常要用到的,比如每天定時統計報表信息,然后自動發送給運營人員,協助運營人員進行業務數據分析。本文是用Python寫的一個自動發送郵件的腳本,調用函數時,直接把發件人郵箱地址、密碼、收件人郵箱地址、郵件標題、內容等信息傳遞給函數,即可實現自動發送郵件功能。
腳本代碼如下:
# -*- coding: UTF-8 -*- import sys, os, re, urllib, urlparse import smtplib import traceback from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password): ''''' @subject:郵件主題 @msg:郵件內容 @toaddrs:收信人的郵箱地址 @fromaddr:發信人的郵箱地址 @smtpaddr:smtp服務地址,可以在郵箱看,比如163郵箱為smtp.163.com @password:發信人的郵箱密碼 ''' mail_msg = MIMEMultipart() if not isinstance(subject,unicode): subject = unicode(subject, 'utf-8') mail_msg['Subject'] = subject mail_msg['From'] =fromaddr mail_msg['To'] = ','.join(toaddrs) mail_msg.attach(MIMEText(msg, 'html', 'utf-8')) try: s = smtplib.SMTP() s.connect(smtpaddr) #連接smtp服務器 s.login(fromaddr,password) #登錄郵箱 s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #發送郵件 s.quit() except Exception,e: print "Error: unable to send email" print traceback.format_exc() if __name__ == '__main__': fromaddr = "xxxxxxxx@163.com" smtpaddr = "smtp.163.com" toaddrs = ["xxxxxxxx@qq.com","xxxxxxxxx@163.com"] subject = "測試郵件" password = "xxxxxxxx" msg = "測試一下" sendmail(subject,msg,toaddrs,fromaddr,smtpaddr,password)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答