溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python自動發(fā)送郵件腳本

發(fā)布時間:2020-09-01 09:18:27 來源:腳本之家 閱讀:134 作者:壞蛋是我 欄目:開發(fā)技術

本文實例為大家分享了python自動發(fā)送郵件的具體代碼,供大家參考,具體內(nèi)容如下

#coding=utf8  
''''' 
該模塊使自動發(fā)送郵件的模塊 
模塊初始化時需要設置: 
sender:發(fā)送人 
reciver:接收者 
smtpServer:發(fā)送人的服務器類型 
password:登錄命令 
subject:郵件標題 
datafile:數(shù)據(jù)文件 
 
文件包含六個函數(shù): 
senderLogin():連接服務并登錄服務 
setSubject():設置郵件標題 
SendMessage():郵件發(fā)送的信息 
sendMail():發(fā)送郵件 
quitMail():關閉郵件服務 
run():執(zhí)行登錄、設置郵件標題、設置郵件發(fā)送信息、發(fā)送郵件、關閉郵件服務 
 
''' 
import smtplib  
from mangerResultFile import FileManger  
from email.mime.text import MIMEText  
from email.mime.multipart import MIMEMultipart  
class AutoMail(object):   
  def __init__(self,sender,reciver,smtpServer, password,subject,datafile): 
    #設置發(fā)送人 
    self.sender=sender 
    #設置登錄密碼 
    self.password=password 
    #設置接收者 
    self.reciver=reciver 
    #設置郵件標題 
    self.subject=subject 
    #設置附件路徑 
    self.datafile=datafile 
    #設置發(fā)送郵件服務 
    self.smtpServer=smtpServer 
    #創(chuàng)建一個smtp實例 
    self.smtp = smtplib.SMTP()  
    #設置下發(fā)送信息包含的類型的信息體 
    self.msgRoot =MIMEMultipart('related')  
    #調(diào)用run函數(shù)運行 
    self.run()  
   
  #發(fā)送用戶登錄 
  def senderLogin(self): 
    #通過smtp實例的connect方法連接發(fā)送郵件服務 
    self.smtp.connect(self.smtpServer)  
    #通過smtp實例的login方法登錄發(fā)送郵件服務  
    self.smtp.login(self.sender,self.password)  
     
  def setSubject(self): 
    #設置郵件標題 
    self.msgRoot['Subject']=self.subject 
     
  def SendMessage(self): 
    #讀取附件信息到att中 
    att =MIMEText(open( self.datafile, 'rb').read(), 'base64', 'utf8')  
    #設置att的內(nèi)容類型 
    att["Content-Type"]= 'application/octet-stream'  
    #給附件設置一個文件名 
    att["Content-Disposition"]= 'attachment; '+'filename='+FileManger().getLastFile()+'' 
    self.msgRoot.attach(att)  
     
  def sendMail(self): 
    #發(fā)送郵件 
    self.smtp.sendmail(self.sender,self.reciver,self.msgRoot .as_string())  
   
  def quitMail(self): 
    #退出郵件服務 
    self.smtp.quit()  
   
  def run(self):          
    try: 
      self.senderLogin()  
      self.setSubject() 
      self.SendMessage() 
      self.sendMail() 
      self.quitMail() 
      print "send success...." 
    except Exception,e: 
      print e 
          
def test():  
  #創(chuàng)建一個FileManger實例 
  fm=FileManger()    
  sender ='wang@163.com'  
     
  receiver ='e.wang@163.com'  
     
  smtpserver ='smtp.163.com'  
   
  password =' '  
  ject= 'XQL Autom excut project' 
  filpath=fm.getLastFileWithPath() 
  try: 
    AutoMail(sender,receiver,smtpserver,password,ject,filpath) 
  except Exception,e: 
    print e 
 
if __name__=="__main__": 
  test() 

完整項目源碼下載鏈接:Python自動發(fā)送郵件的腳本源碼

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI