zoukankan      html  css  js  c++  java
  • python3 发送邮件添加附件

    from email.header import Header
    from email.mime.application import MIMEApplication
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from smtplib import SMTP_SSL
    import time

    email_sender=''#这里是qq邮箱
    email_pwd=''#这里是授权码,不知道qq邮箱怎么获取授权码的同事可以百度一下
    email_receiver='3270740288@qq.com'

    email_sever=SMTP_SSL('smtp.qq.com')#连接qq邮箱服务器
    email_sever.login(email_sender,email_pwd)#登录邮箱

    email_text=MIMEText('来自小陆的问候','plain','utf-8')#邮件的内容,和内容的格式。这里是txt/plain,纯文本类型。

    email_liction=MIMEMultipart()#创建一个带附件的事例
    email_liction['Subject']=Header('漫漫长路','utf-8')#标题的内容和编码格式
    email_liction['From']=email_sender
    email_liction['To']=email_receiver
    email_liction['Date']=time.ctime()


    email_file=MIMEApplication(open('F:\temp.html', 'rb').read())#第一个参数打开文件read()方法读出所有内容,刚好是字符串格式,第二个参数是希望的编码,这种方法比较简单
    email_file.add_header('Content-Disposition', 'attachment', filename='temp.html')#这里添加一个标题,Content-Disposition,attachment说明是一个附件,filename说明文件名.mail里有一个get_filename()的方法可以得到附件里的文件名。
    #filename不能随便命名,因为后缀名会影响到文本的格式。例如把"html"换成"txt",最后加载到QQ邮件的附件就是‘temp.txt’。
    email_liction.attach(email_text)#把我们刚才写的邮件内容加进去
    email_liction.attach(email_file)#现在我们把编码好的附件也加进去

    email_sever.sendmail(email_sender,email_receiver,email_liction.as_string())#由于senemail要传String类型,所以要用.as_string()把内容组合成字符串
    email_sever.quit()
  • 相关阅读:
    在.net中读写XML方法的总结
    C# 中的委托和事件
    周永亮 《我是职业人》
    .net序列化及反序列化
    .NET中的参数
    linux解压tar命令
    Linux date 命令使用技巧
    经典.net面试题目
    switch……case里的case能不能同时定义多个值呢?
    这里将是我学习进步的一个见证点
  • 原文地址:https://www.cnblogs.com/lystbc/p/7517953.html
Copyright © 2011-2022 走看看