python smtplib和email发送邮件 未封装函数
链接stmp服务
https://docs.python.org/3/library/smtplib.html
构建email参考
https://docs.python.org/2/library/email-examples.html
准备
开通smtp服务
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
'''
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
host: SMTP 服务器主机。 你可以指定主机的ip地址或者域名如: runoob.com,这个是可选参数。
port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为25。
local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。
'''
'''
email 对象 参考https://docs.python.org/2/library/email.mime.html#email.mime.base.MIMEBase
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
from_addr: 邮件发送者地址。
to_addrs: 字符串列表,邮件发送地址。
msg: 发送消息
'''
sender = 'yaoyt98@163.com' # 发送邮件
receivers = ['2860889218@qq.com','yaoyt98@163.com'] # 接受邮件
# message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8') #邮件内容
# message = MIMEText("<a href='http://baidu.com'>点半我跳转哦</a>", 'html', 'utf-8') #html
message = MIMEMultipart() #生成包括多个部分的邮件体
# 发送图片 ,文字 ,文档
path ='comert\imgs\阿狸\电玩女神 阿狸.jpg'
with open(path,'rb') as f:
img = MIMEImage(f.read())
message.attach(img)
text = MIMEText('阿狸的电玩女神的图片')
message.attach(text)
from email import encoders
# 增加附件
filename='新建文本文档' #附件名
textpath=r'comert\text\新建文本文档.txt'
with open(textpath,"rb") as fp:
mmtext= MIMEBase('application','octet-stream') #这个是所有mime的基类 设置类型
mmtext.set_payload(fp.read()) # 写入流
mmtext.add_header('Content-Disposition', 'attachment', filename=filename) # 添加头部
encoders.encode_base64(mmtext) # 改变编码
message.attach(mmtext)
# message = MIMEText("<a href='http://baidu.com'>点半我跳转哦</a>", 'html', 'utf-8') #html
subject = 'Python 测试' #标题
message['Subject'] = Header(subject, 'utf-8')
message['From'] = sender #一定是发件人的邮箱地址
message['To'] = ','.join(receivers) #一定是收件人的邮箱地址 两个都要是地址不然会报554 邮件格式错误
# import smtplib
# smtpobj = smtplib.SMTP_SSL('smtp.163.com', 465)
# smtpobj.login(sender, '授权密码') #
# smtpobj.sendmail(sender, receivers, message.as_string())
# smtpobj.quit()
from smtplib import SMTP_SSL
with SMTP_SSL('smtp.163.com', 465) as sp:
sp.login(sender, 'yaoyoutian2018')
sp.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
python smtplib和email发送邮件 未封装函数相关推荐
- 安装了email模块还是报错_科普:利用Python smtplib和email模块实现自动发送邮件功能...
概要 我们都知道SMTP(简单邮件传输协议),是一组用于从原地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式.SMTP规定电子邮件应该如何格式化.如何加密,以及如何在邮件服务器之间传递.SMT ...
- python发送邮件廖雪峰_利用Python的smtplib和email发送邮件
原理 网上已经有了很多的教程讲解相关的发送邮件的原理,在这里还是推荐一下廖雪峰老师的Python教程,讲解通俗易懂.简要来说,SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本 ...
- 你想要的完整解决Python smtplib使用163发送邮件时出现 •554 DT:SPM错误smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp5,HdxpC
最近在学习Python于是自己写了个小脚本测试使用smtp发送邮件,一切ok后出现如下错误: smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp1,GdxpCg ...
- Python自动发送邮件-smtplib和email库
一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三.写邮件主 ...
- python发送邮件(smtplib、email、zmail)
1.邮箱账号准备 首先需要注册一个个人邮箱,本文以126邮箱为例. 打开设置(网页版)中的POP3/SMTP/IMAP设置,开启POP3/SMTP服务,如果开启了会给出一串授权密码.开启后POP3/S ...
- email邮件中 内嵌iframe_邮件发送,使用Python中 smtplib与email 模块实现自动发送QQ邮件...
在 Python 的实际应用中,特别是在执行周期性定时任务的场景中,我们希望能够一种简单.方便的方式获取任务的运行结果和状态.一般我们通过支持邮件发送功能的方式,实现任务结果的反馈.本文主要介绍,如何 ...
- 100天精通Python丨办公效率篇 —— 11、Python自动化操作 Email(发送邮件、收邮件、邮箱客户端)
文章目录 一.通过SMTP发送电子邮件 1.1 定义邮件正文 1.2 发送邮件 二.收取电子邮件 2.1 配置账户信息 2.2 连接邮箱服务器 2.3 搜索返回消息ID 2.4 读取邮件 三.使用邮件 ...
- 六十一、Python中的smtplib和email实现邮件发送
@Author : By Runsen 在Python中分别有两个库实现发送邮件,分别是smtplib和email. smtplib是用来发送邮件用的,email是用来构建邮件内容的. 下面是具体使用 ...
- smtplib库:Python使用QQ邮箱发送邮件
目录 前言 发送email文本消息 发送email图片与附件消息 前言 一般来说,每个App都有一个意见反馈功能.对于企业,其意见反馈自然是发送到其服务器上,而对于个人应用来说,因为使用的人相对较少, ...
最新文章
- linux c 查看 结构体 宏 函数 关键字定义
- python中abc属于字符串吗_Python基础学习:字符串
- Boost:使用boost :: hash和boost :: array的测试
- drbd heartbeat mysql_Heartbeat+DRBD+MySQL Replication故障处理
- python framework threads_python 多线程,进程的理解
- mysql udf安全_打造全功能MYSQL入侵UDF
- MS SQL入门基础:存储过程概述
- 实习成长之路: 重新认识IOC,你可能对IoC有些误会?
- 基于AD09的四层板设计概要
- 企业管理理论综述与实践 — 战略
- python语言属于哪一种语言阅读答案_python是一种()-智慧树Python语言应用章节答案...
- android studio打包流程
- win10远程桌面查看对方计算机名,教你如何使用Win10远程桌面控制他人电脑?
- Verifying an Alien Dictionary
- matplotlib sinx cosx 图像
- 高通QCA6174A WiFi/蓝牙二合一芯片
- 03_深度学习实现手写数字识别(python)
- Springboot(SpringBoot)重试机制retry
- html屏幕滚动事件监听,JQuery监听页面滚动事件
- vim 插入模式小技巧
热门文章
- 从冯•诺依曼结构看计算机科学的发展史
- matlab数据的导入和导出
- tableau count() 和 countd() 区别
- C# 利用ZXing.Net来生成条形码和二维码
- 传奇sound文件调用说明
- 【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(3.11-3.12)
- 《亲爱的小孩》里三位母亲的靠谱与不靠谱
- 3900x做服务器性能怎么样,AMD锐龙9 3900X性能怎么样?相当于什么级别和水平?
- ajaxSubmit提交两遍
- 使用ps将倾斜图片调正