python smtplib模块实现发送邮件带附件sendmail


Posted in Python onMay 22, 2018

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

#!/usr/bin/env python 
# -*- coding: UTF-8 -*- 
 
from email.mime.multipart import MIMEMultipart 
from email.mime.base import MIMEBase 
from email.mime.text import MIMEText 
  
from email.utils import COMMASPACE,formatdate 
from email import encoders 
  
import os 
  
def send_mail(server, fro, to, subject, text, files=[]):  
  assert type(server) == dict  
  assert type(to) == list  
  assert type(files) == list  
  
  msg = MIMEMultipart()  
  msg['From'] = fro  
  msg['Subject'] = subject  
  msg['To'] = COMMASPACE.join(to) #COMMASPACE==', '  
  msg['Date'] = formatdate(localtime=True)  
  msg.attach(MIMEText(text))  
  
  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))  
    msg.attach(part)  
  
  import smtplib  
  smtp = smtplib.SMTP(server['name'], server['port'])  
  smtp.ehlo() 
  smtp.starttls() 
  smtp.ehlo()  
  smtp.login(server['user'], server['passwd'])  
  smtp.sendmail(fro, to, msg.as_string())  
  smtp.close() 
   
if __name__=='__main__': 
  server = {'name':'mail.server.com', 'user':'chenxiaowu', 'passwd':'xxxx', 'port':25} 
  fro = 'chenxiaowu@163.com' 
  to = ['xxxx@163.com'] 
  subject = '脚本运行提醒' 
  text = 'mail content' 
  files = ['top_category.txt'] 
  send_mail(server, fro, to, subject, text, files=files)

从网上找了些资料,不会有个别错误,上面代码经调试测试通过。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
用Python编写一个基于终端的实现翻译的脚本
Apr 24 Python
Python松散正则表达式用法分析
Apr 29 Python
详解Python3中字符串中的数字提取方法
Jan 14 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
Django rest framework实现分页的示例
May 24 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
python实现人工智能Ai抠图功能
Sep 05 Python
python如何通过pyqt5实现进度条
Jan 20 Python
Python 实现向word(docx)中输出
Feb 13 Python
点球小游戏python脚本
May 22 #Python
python smtplib模块自动收发邮件功能(二)
May 22 #Python
python smtplib模块自动收发邮件功能(一)
May 22 #Python
python模块smtplib学习
May 22 #Python
Pipenv一键搭建python虚拟环境的方法
May 22 #Python
PyTorch线性回归和逻辑回归实战示例
May 22 #Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 #Python
You might like
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
PHP实现简单登录界面
2019/10/23 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
jQuery用FormData实现文件上传的方法
2016/11/21 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
python模块之time模块(实例讲解)
2017/09/13 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Python tkinter模版代码实例
2020/02/05 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
Python基于内置函数type创建新类型
2020/10/22 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
运动会广播稿400字
2014/01/25 职场文书
保护动物倡议书
2014/04/15 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
个人授权委托书范本
2014/09/14 职场文书
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android
python数字类型和占位符详情
2022/03/13 Python
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android
教你如何用cmd快速登录服务器
2022/06/10 Servers