python怎么实现smtplib发送带附件邮件小程序

程序名称:sendMail_func.py

#!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import time import smtplib from email import encoders from email.mime.text import MIMEText from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart  def send_mail(sub,content,mail_to,fileList):   mail_host='smtp.163.com'   mail_user='****@163.com'   mail_pass='******'   mail_to_list=mail_to.split(',')    msg = MIMEMultipart()   #msg=MIMEText(content,_charset='utf-8')   msg['Subject']=sub   msg['From']=mail_user   msg['To']=";".join(mail_to_list)   msg.attach(MIMEText(content,_charset='utf-8'))    files=fileList.split(',')   for f in files:     part = MIMEBase('application', 'octet-stream') #'octet-stream': binary data     part.set_payload(open(f, 'rb').read())     encoders.encode_base64(part)     part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(f).encode('utf-8'))     msg.attach(part)    try:     s=smtplib.SMTP()     s.connect(mail_host)     s.login(mail_user,mail_pass)     s.sendmail(mail_user,mail_to_list,msg.as_string())     s.close()     return True   except Exception, e:     print str(e)     return False  if __name__=="__main__":   if len(sys.argv) == 5:     send_mail(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4])   else:     print ''     print '*************************************************'     print ' Error: 请传入四个参数值:邮件主题 邮件内容 收件人 附件路径'     print '  如: python sendMail_func.py 邮件测试 邮件内容 abc@126.com,def@163.com,123456789@qq.com 1.xlsx,2.xlsx'     print '*************************************************'     print ''     exit

登录后复制

以上就是python怎么实现smtplib发送带附件邮件小程序的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2236484.html

(0)
上一篇 2025年2月26日 18:30:57
下一篇 2025年2月26日 18:31:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python中的set方法如何使用

    一、序言 在python中,set是一种集合数据类型,表示一个无序且不重复的集合。set()方法可以用于创建一个空的集合,也可以将其他可迭代对象转换为集合。与其他python数据类型不同,set没有索引,不能通过索引访问其元素,但可以使用一…

    编程技术 2025年2月26日
    200
  • python的PyGame Zero怎么用

      在你的游戏开发过程中有了 PyGame Zero,和枯燥的模板说再见吧。 Python 是一个很好的入门级编程语言。并且,游戏是一个很好的入门项目:它们是可视化的,自驱动的,并且可以很愉快的与朋友和家人分享。虽然,绝大多数的 Pytho…

    2025年2月26日
    200
  • 高效的Python通用对象池化库怎么使用

    对象池模式主要适用于以下应用场景: 资源受限的场景。比如,不需要可伸缩性的环境(CPU、内存等物理资源有限),CPU性能不够强劲,内存比较紧张,垃圾收集,内存抖动会造成比较大的影响,需要提高内存管理效率, 响应性比吞吐量更为重要。 在内存中…

    2025年2月26日
    200
  • Python Tkinter GUI编程怎么实现Frame切换

    1、Frame的tkraise() 方法介绍 通常,一个 tkinter 应用程序由多个frame组成。 而且您经常需要在frame之间切换以显示与用户选择相关的frame。 Tkinter 允许将Frame堆叠在一起。 要显示特定Fram…

    2025年2月26日
    200
  • Python中的枚举怎么实现

    使用普通类直接实现枚举 在Python中,枚举和我们在对象中定义的类变量时一样的,每一个类变量就是一个枚举项,访问枚举项的方式为:类名加上类变量,像下面这样: class color():    YELLOW  = 1    RED    …

    编程技术 2025年2月26日
    200
  • Python怎么利用Turtle绘制哆啦A梦和小猪佩奇

    1.哆啦A梦 “只要把愿望系在竹竿上请求月亮女神,心愿便能达成”。我超喜欢这句话。 哆啦A梦的创造要追溯到1969年的某个截稿日,作者藤子·F·不二雄的家里突然闯进了一只小猫,虽然很快就要截稿了,但作者还是和小猫玩了起来,还替小猫挠虱子,而…

    2025年2月26日
    200
  • Python的Try和Except怎么使用

    try 块允许您测试代码块以查找错误。 except 块允许您处理错误。 finally 块允许您执行代码,无论 try 和 except 块的结果如何。 异常处理 当我们调用 Python 并发生错误或异常时,通常会停止并生成错误消息。 …

    2025年2月26日 编程技术
    200
  • 为什么 Python、Ruby 等语言弃用了自增运算符?

    许多人也许会注意到一个现象,那就是在一些现代编程语言(当然,并不是指“最近出现”的编程语言)中,自增和自减运算符被取消了。也就是说,在这些语言中不存在​​i++​​​或​​j–​​​这样的表达,而是只存在​​i += 1​​​或…

    2025年2月26日
    200
  • Python的正则表达式怎么实现

    Python 正则表达式 正则表达式本身是独立于编程语言的知识,但是它又依附于编程语言,基本上我们所使用的编程语言都提供了对它的实现,当然了,各家的实现也是有一些差异的,有的支持的功能多一点,有的支持的少一点。 因为正则表达式是实践中使用广…

    2025年2月26日
    200
  • Python中if语句的基本格式是什么

    在 python 中,if 语句用于根据条件执行不同的代码块。它的基本格式如下: if condition:    # 如果 condition 为 True,执行这里的代码块 登录后复制 其中,condition 是一个表达式,通常涉及变…

    编程技术 2025年2月26日
    200

发表回复

登录后才能评论