【皇牌天下投注网】python3 发送任意文件邮件的实

来源:http://www.prospettivedarte.com 作者:计算机教程 人气:149 发布时间:2019-06-14
摘要:实例如下所示: 本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下 #!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibimport email.mime.multipartimport email.mime.textfrom e

实例如下所示:

本文实例为大家分享了python自动发送邮件的具体代码,供大家参考,具体内容如下

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
import email.mime.multipart
import email.mime.text
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

def send_email(smtpHost, sendAddr, password, recipientAddrs, subject='', content=''):
 msg = email.mime.multipart.MIMEMultipart()
 msg['from'] = sendAddr
 msg['to'] = recipientAddrs
 msg['subject'] = subject
 content = content
 txt = email.mime.text.MIMEText(content, 'plain', 'utf-8')
 msg.attach(txt)


 # 添加附件,传送D:/mydev/yasuo.rar文件
 part = MIMEApplication(open('D:/mydev/6.rar','rb').read())
 part.add_header('Content-Disposition', 'attachment', filename="yasuo.rar")
 msg.attach(part)

 smtp = smtplib.SMTP()
 smtp.connect(smtpHost, '25')
 smtp.login(sendAddr, password)
 smtp.sendmail(sendAddr, recipientAddrs, str(msg))
 print("发送成功!")
 smtp.quit()

try:

subject = 'Python 测试邮件'
content = '这是一封来自 Python 编写的测试邮件。'
send_email('smtp.163.com', '18310161797@163.com', '邮箱密码', '526189064@qq.com', subject, content)
except Exception as err:
print(err)
#coding=utf8  
''''' 
该模块使自动发送邮件的模块 
模块初始化时需要设置: 
sender:发送人 
reciver:接收者 
smtpServer:发送人的服务器类型 
password:登录命令 
subject:邮件标题 
datafile:数据文件 

文件包含六个函数: 
senderLogin():连接服务并登录服务 
setSubject():设置邮件标题 
SendMessage():邮件发送的信息 
sendMail():发送邮件 
quitMail():关闭邮件服务 
run():执行登录、设置邮件标题、设置邮件发送信息、发送邮件、关闭邮件服务 

''' 
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): 
    #设置发送人 
    self.sender=sender 
    #设置登录密码 
    self.password=password 
    #设置接收者 
    self.reciver=reciver 
    #设置邮件标题 
    self.subject=subject 
    #设置附件路径 
    self.datafile=datafile 
    #设置发送邮件服务 
    self.smtpServer=smtpServer 
    #创建一个smtp实例 
    self.smtp = smtplib.SMTP()  
    #设置下发送信息包含的类型的信息体 
    self.msgRoot =MIMEMultipart('related')  
    #调用run函数运行 
    self.run()  

  #发送用户登录 
  def senderLogin(self): 
    #通过smtp实例的connect方法连接发送邮件服务 
    self.smtp.connect(self.smtpServer)  
    #通过smtp实例的login方法登录发送邮件服务  
    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的内容类型 
    att["Content-Type"]= 'application/octet-stream'  
    #给附件设置一个文件名 
    att["Content-Disposition"]= 'attachment; ' 'filename=' FileManger().getLastFile() '' 
    self.msgRoot.attach(att)  

  def sendMail(self): 
    #发送邮件 
    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():  
  #创建一个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() 

以上这篇python3 发送任意文件邮件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

完整项目源码下载链接:Python自动发送邮件的脚本源码.rar)

本文由皇牌天下投注网发布于计算机教程,转载请注明出处:【皇牌天下投注网】python3 发送任意文件邮件的实

关键词:

上一篇:阿里云CentOS挂载新数据盘的方法

下一篇:没有了

频道精选

最火资讯