前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python发送邮件

python发送邮件

作者头像
小小咸鱼YwY
发布于 2020-06-19 07:35:21
发布于 2020-06-19 07:35:21
54100
代码可运行
举报
文章被收录于专栏:python-爬虫python-爬虫
运行总次数:0
代码可运行

一.获取邮箱授权(以QQ邮箱为例子)

点击设置>账号

开启服务:POP3/SMTP服务 选择开启

然后获取授权码xxx

二.发送文本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import smtplib
from email.mime.text import MIMEText

subject = "标题"  # 邮件的主题
content = '测试'   #内容
sender = "568972484@qq.com"  # 发件人
password = 'xxx'  # 刚才我们在QQ邮箱里设置的授权密码
receiver = "568972484@qq.com"  # 收件人


message = MIMEText(content, "html", "utf-8")   #内容,格式,编码格式
message["From"] = sender        #发送邮箱
message["To"] = receiver        #收邮箱
message["Subject"] = subject    #标题

smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)    #QQ邮箱的SMTP服务器(端口465587)
smtp.login(sender, password)      #发送邮箱和密码         
smtp.sendmail(sender, receiver, message.as_string())  
smtp.close()

三.发送文本中带图片

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage


subject = "图片测试"  # 邮件的主题
content = """
<p>Python 邮件发送测试...</p>
<p><img src="cid:image1"></p>
"""
sender = "568972484@qq.com"  # 发件人
password = 'xxx'  # 刚才我们在QQ邮箱里设置的授权密码
receiver = "568972484@qq.com"  # 收件人

msgRoot = MIMEMultipart("related")
msgRoot["From"] = sender
msgRoot["To"] = receiver
msgRoot["Subject"] = subject


#添加文本
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
msgAlternative.attach(MIMEText(content, 'html', 'utf-8'))


# 指定图片为当前目录
fp = open('C:/Users/Administrator/Desktop/1.png', 'rb')
msgImage = MIMEImage(fp.read())
fp.close()

#attach为添加
# 定义图片 ID,在 HTML 文本中引用
msgImage.add_header('Content-ID', '<image1>')
msgRoot.attach(msgImage)

smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtp.login(sender, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.close()

四,发送文件附件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import smtplib
from email.mime.image import MIMEImage
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart


subject = "标题"  # 邮件的主题
content = '文件测试'   #内容
sender = "568972484@qq.com"  # 发件人
password = 'xxxx'  # 刚才我们在QQ邮箱里设置的授权密码
receiver = "568972484@qq.com"  # 收件人


msgRoot = MIMEMultipart("related")
msgRoot["From"] = sender
msgRoot["To"] = receiver
msgRoot["Subject"] = subject


#添加文本
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
msgAlternative.attach(MIMEText(content, 'html', 'utf-8'))


# 构造附件1,传送当前目录下的 test.png 文件
att1 = MIMEImage(open('C:/Users/Administrator/Desktop/1.png', 'rb').read())
att1["Content-Type"] = 'application/octet-stream'
# 这里的filename可以任意写,写什么名字,邮件中显示什么名字
att1["Content-Disposition"] = 'attachment; filename="test.png"'
msgRoot.attach(att1)


smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)    #QQ邮箱的SMTP服务器(端口465587)
smtp.login(sender, password)      #发送邮箱和密码
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.close()

五.补充MIMEMultipart的可选类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MIMEMultipart(‘mixed’) #如果一封邮件中含有附件
MIMEMultipart(‘alternative’)#可以传送超文本内容,但出于兼容性的考虑,一般在发送超文本格式内容的同时会同时发送一个纯文本内容的副本
MIMEMultipart(‘related’) #除了可以携带各种附件外,还可以将其它内容以内嵌资源的方式存储在邮件中
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python利用SMTP协议发html格式含图片邮件
要发邮件需要两个库:smtplib 和 email。其中email库需要额外安装,pip install email 即可。
Cloudox
2021/11/23
1K0
Python利用SMTP协议发html格式含图片邮件
pyhon smtplib库 实现插入图片邮件发送
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.utils import parseaddr, formataddr sender = 'xxxxxxxxxx@qq.com' # 这里就是你的QQ邮箱 # receiver = 'xxxxxxxx@qq.co
kirin
2020/10/26
2.4K0
python发送邮件源码
这是之前一个公司的面试题中的一小部分。比较习惯把这中工具性的东西单独的写成一个函数,这样以后再用到,直接拿来就好。
the5fire
2019/02/28
6840
python 七种邮件内容发送方法实例
一、文件形式的邮件 #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = '***' receiver = '***' subject = 'python email test' smtpserver = 'smtp.163.com' username = '***' password = '**
小小科
2018/05/03
7120
Python3 使用smtplib和em
SMTP (Simple Mail Transfer Protocol)   邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件。大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
py3study
2020/01/03
5450
python3之发送邮件
#/usr/bin/env python3 # encoding: utf-8 #@author: Lejie #@software: PyCharm Community Edition #@file: learn_smtp.py #@time: 2017/6/26 16:29 import smtplib import email.mime.multipart import email.mime.text from email.mime.application import MIMEApplicati
py3study
2020/01/03
4090
python邮件发送和图片
​ 上班时间干别的事情是不太好的,如果被别人看到的话会很大程度上影响个人的前进的步伐。但是如果工作做的差不多了,那么闲着也是闲着。反正cpu资源浪费一天就是一天的折旧,那还不如多学点东西。我们之前的过程都需要点击运行,然后出来一个图。这种方式目标太大,容易被人发现。那么我们做个定时任务。然后把图片不显示,而是保存为图片。运营结束之后将图片放到邮件里,然后发送到手机。相对短信需要花费金钱来说,邮件最好了。
写一点笔记
2020/11/27
9690
python自动发送邮件
每天发日报的你是不是想找个机器人代替你做这些重复性无技术含量的工作,来试试python自动发送邮件吧
诡途
2022/05/09
6430
Python实现邮件发送
    RCPT 标识单个的邮件接收人;常在MAIL命令后面,可有多个rcpt to:
py3study
2020/01/07
7030
Python发送邮件
smtplib 是 Python 用来发送邮件的模块,email 是用来处理邮件消息
Miloce
2022/09/28
7410
Python模块学习--email
SMTP (Simple Mail Transfer Protocol)   邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件。大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
py3study
2020/01/10
1.5K0
Python实现自动发送邮件(详解)
这点很关键,别忘了去开启SMTP, 别忘了去开启SMTP,否则邮件是无法发送成功的 。然后你还需要点击下面生成授权码,这个授权码才是使用Python发送邮件时的真正密码。
全栈程序员站长
2022/11/17
1.1K0
Python实现自动发送邮件(详解)
python发送邮件(二)——smtplib模块和email模块
一、模块介绍 1、smtplib 模块(用于邮件的发送) ①理论解释 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]) 通过这个语句,可以向SMTP服务器发送指令,执行相关操作(如:登陆、发送邮件)。所有的参数都是可选的。 host:smtp服务器主机名 port:smtp服务的端口,默认是25;端口号可以省略。 但是使用25号端口有一个问题,就是保密性不够好,数据都是明文传输,没有加密。 现在一般都推荐使用SSL,Secure So
Elsa_阿尼
2021/07/27
5.3K0
python发送邮件(二)——smtplib模块和email模块
接口测试基础——第2篇smtplib发送文字邮件
王者荣耀真害人!这就是昨天没发的原因…… 我先给大家补充一个用QQ发送纯文本电子邮件的代码,用QQ的朋友可以参考一下: # coding=utf-8 import smtplib from email.mime.text import MIMEText mail_host = “smtp.qq.com” receivers = “123@qq.com” sender = “456@qq.com” passwd = ‘QQ邮箱的授权码’ contents = “python发送邮件” # 构造邮件正文 ms
孟船长
2018/05/18
7470
python发送邮件
为了更好的理解邮件发送功能的实现,要先了解邮件发送系统的大致流程。首先  电子邮件之间的相互发送接受就像  邮局邮件发送一样,从一个站点(邮件发送服务器)到目的地站点(邮件接收服务器),然后目的地站点处理收到的邮件,并发送给接受人。每个邮件服务器即担任发送也担任接受邮件,并且每个服务器地址,端口号,配置等也不同。
用户1558882
2019/01/30
7670
Python 进阶(三):邮件的发送与收取
SMTP 全称 Simple Mail Transfer Protocol,中文译为简单邮件传输协议,它能跨越网络传输邮件,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现进程与其他网络之间的邮件传输。
Python小二
2020/08/18
8530
Python 进阶(三):邮件的发送与收取
Python3实现自动发送邮件
首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
用户9925864
2022/07/27
3380
Python3实现自动发送邮件
python email模块的使用实例
在使用python过程中,需要用的email模块来进行邮件的发送和接收,包含自定义邮件的中文、主题、日期、附件等信息,以下是我使用email模块来发送一个测试报告相关信息的邮件的例子:
py3study
2020/01/07
7950
python笔记3-发送邮件(smtplib)
前言 本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了。 以下代码兼容python2和python3,
上海-悠悠
2018/04/08
1.1K0
python笔记3-发送邮件(smtplib)
python 使用stmp发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
py3study
2020/01/06
1.1K0
相关推荐
Python利用SMTP协议发html格式含图片邮件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验