zoukankan      html  css  js  c++  java
  • Python 发送邮件包含附件报表示例

    之前需要用Python发送报表邮件,在网上找了下资料,基本上符合要求了。

    相关的示例如下,懂python的人应该都知道。

    from email.mime.text import MIMEText
    from email.Message import Message
    from email.header import Header
    def send_mail(from_addr, to_list, sub, content)
      send_server = "smtp.163.com"
      msg = Message()
      msg['subject'] = sub
      msg['from'] = from_addr
      msg['to'] = ";".join(to_list)
      msg['date'] = time.strftime("%a, %d %b %Y %H:%M:%S %z")
      body = MIMEText(content, _subtype='html', _charset='utf-8')
      msg.attach(body)
      try:
        smtp = smtplib.SMTP(send_server)
        smtp.login(username, password)
        stmp.sendmail(from_addr, to_list, msg.as_string()
      except Exception, e:
        print str(e)

    后来又有添加附件的需求,只需要添加几行代码即可。

    from email.MIMEMultipart import MIMEMultipart
    msg = MIMEMultipart()
    att= MIMEText(open(attachment).read(), 'base64','utf-8')
    att["Content-Type"] = "application/octet-stream"
    att["Content-Disposition"] = "attachment;filename=%s"%attachment
    msg.attach(att);
    msg['subject'] = Header(sub,'utf-8')
    msg['subject'] = Header(sub,'utf-8')
    换成Header封装是由于收到的邮件有乱码,所以用Header了一下。

    有需要的人拿去吧。
  • 相关阅读:
    事件处理之跨浏览器
    IE事件处理
    DOM0级事件处理、DOM2级事件处理
    JS内置对象学习总结
    JS事件响应的学习总结
    vuex的学习例子
    npm run build 打包后,如何运行在本地查看效果(Apache服务)
    Vue.js 引入外部js方法
    Table展开行
    正则表达式test()和exec()、 search() 和 replace()用法实例
  • 原文地址:https://www.cnblogs.com/westfly/p/3276394.html
Copyright © 2011-2022 走看看