zoukankan      html  css  js  c++  java
  • python邮件发送基础知识

     
    一、smtplib模块:
    主要通过SMTP类与邮件系统进行交互。使用方法如下:
    
    1.实例化一个SMTP对象:
      s = smtplib.SMTP(邮件服务地址,端口号)
    
      s = smtplib.SMTP_SSL(邮件服务地址,端口号)
    
    2.登陆邮件,权限验证:
      s.login(用户名,密码)
    
    3.发送邮件:
      s.sendmail(发件人邮箱,收件人邮箱,发送内容)
    
    4.断开连接:
      s.close()
    
     
    
    二、email模块:
      email模块:支持发送的邮件内容为纯文本、HTML内容、图片、附件。email模块中有几大类来针对不同的邮件内容形式,常用如下:
    
      MIMEText:(MIME媒体类型)内容形式为纯文本、HTML页面。
    
      MIMEImage:内容形式为图片。
    
      MIMEMultupart:多形式组合,可包含文本和附件。
    
     
    
    每一类对应的导入方式:
      from email.mime.text import MIMEText
    
      from email.mime.image import MIMEImage
    
      from email.mime.multipart import MIMEMultipart
    
     
    
    三、MIMEText:
      MIMEText(msg,type,chartset)
    
      msg:文本内容
    
      type:文本类型默认为plain(纯文本)
    
       发送HTML格式的时候,修改为html,但同时要求msg的内容也是html的格式。
    
      chartset:文本编码,中文为“utf-8”
    
      # 构造TEXT格式的消息
    
      msg = MIMEText("hello.text","plain","utf-8")
    
      msg["Subject"] = "xxxxx"
    
      msg["From"] = "xxxx"
    
      msg["To"] = "xxxx"
    
      #发送以上构造的邮件内容要使用as_string将构造的邮件内容转换为string形式。
    
      s.sendmail("xxx","xxx",msg.as_string)
    
     
    
    四、MIMEImage、MIMEMultipart:
      msg = MIMEMultipart()
    
      #实例化一个文本对象 
    
      msg_sub = MIMEText("hello.text","plain","utf-8")
    
      #将text消息添加到MIMEMultipart中,作为邮件正文。
    
      msg.attach(msg_sub)
    
     
    
      #图片作为附件
    
      import os
    
      img_datas = open(os.getcwd()+ "/reports/xxxx.png","rb").read()
    
      msg_img = MIMEImage(img_data)
    
      msg_img.add_header('Content-Disposition','attachment', filename = "xxxx.png" )
    
      msg_img.add_header('Content-ID','<0>')
    
      #将图片添加到MIMEMultiplart中,作为附件发送。
    
      msg.attach(mag_img)
  • 相关阅读:
    Python学习笔记:pip使用技巧
    机器学习笔记:训练集、验证集和测试集区别
    MySQL学习笔记:3道面试题小测
    Python学习笔记:精确的四舍五入
    Hive学习笔记:列转行之collect_list/collect_set/concat_ws
    Python学习笔记:6个代码性能坏习惯
    爬虫学习笔记:打造自己的代理池
    Mysql学习笔记:5.5升级至8.0版本
    机器学习笔记:sklearn.model_selection.train_test_split切分训练、测试集
    HashSet其实就那么一回事儿之源码浅析
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/14121130.html
Copyright © 2011-2022 走看看