文本编辑器做网站,贵阳小程序定制开发,阜新本地网站建设平台,网站建设项目怎么跟进客户目录
一、准备需要发送邮件的邮箱账号
二、发送邮箱的基本步骤
1. 登录邮箱
2. 准备数据
3. 发送邮件
三、特殊内容的发送
1. 发送附件
2. 发送图片
3. 发送超文本内容
4.邮件模板内容 SMTP#xff08;Simple Mail Transfer Protocol#xff09;即简单邮件传输协议…目录
一、准备需要发送邮件的邮箱账号
二、发送邮箱的基本步骤
1. 登录邮箱
2. 准备数据
3. 发送邮件
三、特殊内容的发送
1. 发送附件
2. 发送图片
3. 发送超文本内容
4.邮件模板内容 SMTPSimple Mail Transfer Protocol即简单邮件传输协议,它是⼀组⽤于由源地址到⽬的地址传送 邮件的规则由它来控制信件的中转⽅式。 python的smtplib提供了⼀种很⽅便的途径发送电⼦邮件。它对smtp协议进⾏了简单的封装。
一、准备需要发送邮件的邮箱账号
如果是163邮箱只需要准备账号和密码如果是QQ邮箱需要准备账号和授权码密码不好⽤可以 去QQ邮箱官⽹的帮助中⼼去查看授权码的获取⽅式。
二、发送邮箱的基本步骤
1. 登录邮箱 2. 准备数据
数据指的需要发送的内容。邮件内容的构建需要涉及到另外⼀个库email它可以⽤来构建邮件主 题以及各种形式的邮件内容包括⽂字内容、图⽚内容、html内容、附件等这⼉先简单说⼀ 个邮件主题和⽂本内容其他形式的内容在后⾯邮件内容部分详细讲解。 3. 发送邮件 示例
import smtplib
from email.mime.multipart import MIMEMultipart # 邮件类
from email.header import Header # 主题类
from email.mime.text import MIMEText # 邮件内容类# 1.连接邮箱服务器
# smtplib.SMTP_SSL(邮箱服务器地址, 端口号)
connect smtplib.SMTP_SSL(smtp.qq.com, 465)# 2.登录邮箱
# 连接对象.login(邮箱账号, 授权码)
connect.login(xxxxxxxxxxqq.com, frcdoguixnbgiffd)# 3.发送邮件
# 1) 准备邮件内容
# a.创建邮件对象(点击写信按钮
message MIMEMultipart()# b.设置邮件主题
message[Subject] Header(第一份自动发送的邮件, utf-8).encode()# 设置收件人信息
message[To] xxxxxxxxxxqq.com# 设置发件人信息
# 注意尖括号前必须用英文
message[From] WMXxxxxxxxxxxqq.com# 设置正文内容
# MIMEText(正文内容, 正文类型, 编码方式)
# 正文类型plain(普通文本)、html(超文本内容)、base64(文件-附件)
content MIMEText(hello, handsome boy!, plain, utf-8)# 将邮件内容关联到邮件中
message.attach(content)# 2) 发送邮件
# connect.sendmail(发件人邮箱, 收件人邮箱, 邮件对象.as_string())
connect.sendmail(xxxxxxxxxxqq.com, xxxxxxxxxxqq.com, message.as_string())# 关闭连接
connect.close()
三、特殊内容的发送
1. 发送附件 以附件的形式发送本地图⽚ 发送附件 示例
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText# 准备账号信息
sender 726550822qq.com
to y_t209163.com
pw zaizvxadkftnbfda# 连接邮箱服务器
connect smtplib.SMTP_SSL(smtp.qq.com, 465)# 登录邮箱
connect.login(sender, pw)# 创建一个空的邮件
message MIMEMultipart()# 设置主题
message[Subject] Header(发送附件, utf-8).encode()# 设置收件人和发件人信息
message[To] to
message[From] fYuTing {sender}# 添加附件
# 1. 打开需要作为附件发送的文件并读取文件内容
f1 open(files/01-Excel快速入门上.xlsx, rb).read()
f2 open(files/im1.png, rb).read()
f3 open(files/pyecharts的使用.pdf, rb).read()# 2. 创建附件
attachment1 MIMEText(f1, base64, utf-8) # 创建附件对象
attachment1[Content-Disposition] attachment; filenameExcel.xlsx # 设置附件的显示位置和方式
message.attach(attachment1) # 将附件添加到邮件中attachment2 MIMEText(f2, base64, utf-8)
attachment2[Content-Disposition] attachment; filenameim1.png
message.attach(attachment2)#
# 添加正文
# MIMEText(正文内容, 正文类型, 编码方式)
# 正文类型plain(普通文本)、html(超文本内容)、base64(文件-附件)
text MIMEText(相关内容请查看附件!, plain, utf-8)
message.attach(text)# 发送邮件
connect.sendmail(sender, to, message.as_string())# 关闭连接
connect.quit()
2. 发送图片
如果想要叫本地图⽚作为邮件中的内容需要将图⽚以 img srccid:图⽚id/ 的形式关联到 html⽂本中 import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage# 准备账号信息
sender xxxxxxxxqq.com
to xxxxxx163.com
pw zaizvxadkftnbfda# 连接邮箱服务器
connect smtplib.SMTP_SSL(smtp.qq.com, 465)# 登录邮箱
connect.login(sender, pw)# 创建一个空的邮件
message MIMEMultipart()# 设置主题
message[Subject] Header(发送图片, utf-8).encode()# 设置收件人和发件人信息
message[To] to
message[From] fYuTing {sender}# 在正文中发送图片
# 第一步准备图片
# 1. 打开图片文件读文件内容(准备图片数据)
image_data open(files/im1.png, rb).read()
# 2. 创建图片对象
image MIMEImage(image_data)
# 3. 添加图片ID
image.add_header(Content-ID, img1)
# 4. 将图片对象添加到邮件中
message.attach(image)# 第二步在正文中使用图片
# img srccid:图片ID
# br - 换行
text MIMEText(尊敬的各位领导您好br请欣赏下面的图片:br img srccid:img1 stylewidth:300px; br谢谢大家, html, utf-8)
message.attach(text)
#
# 发送邮件
connect.sendmail(sender, to, message.as_string())# 关闭连接
connect.quit()
3. 发送超文本内容
HTML格式的邮件本质还是⽂本格式的邮件所有⽂件的构建⽅式和普通⽂本⽂件的构建⽅式差不多 示例
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage# 准备账号信息
sender xxxxxxxxxqq.com
to xxxxx163.com
pw zaizvxadkftnbfda# 连接邮箱服务器
connect smtplib.SMTP_SSL(smtp.qq.com, 465)# 登录邮箱
connect.login(sender, pw)# 创建一个空的邮件
message MIMEMultipart()# 设置主题
message[Subject] Header(网上购票系统-用户支付通知, utf-8).encode()# 设置收件人和发件人信息
# 注意尖括号前必须用英文
message[To] to
message[From] f12306rails.com.cn {sender}# 发送超文本内容
# 1. 从html文件中读取网页内容
# rt - 读、文本
html_content open(files/12306.html, rt, encodingutf-8).read()
# 2. 构建正文内容
text MIMEText(html_content, html, utf-8)
message.attach(text)#
# 发送邮件
connect.sendmail(sender, to, message.as_string())# 关闭连接
connect.quit()
4.邮件模板内容
可以实现准备一个模版变动的用%s替代然后代码编写正文的时候再填充 # 准备账号信息
sender xxxxxxxqq.com
to xxxxxxxx163.com
pw zaizvxadkftnbfda# 连接邮箱服务器
connect smtplib.SMTP_SSL(smtp.qq.com, 465)# 登录邮箱
connect.login(sender, pw)# 创建一个空的邮件
message MIMEMultipart()# 设置主题
message[Subject] Header(网上购票系统-用户支付通知, utf-8).encode()# 设置收件人和发件人信息
message[To] to
message[From] f12306rails.com.cn {sender}#
# name input(请输入购票人姓名:)
# gender input(请输入购票人性别(男/女):)
# date input(请输入购票日期:)
# price input(请输入购票金额:)# html_content open(files/12307.html, rt, encodingutf-8).read()
# text MIMEText(html_content % (name, gender, date, price), html, utf-8)
# message.attach(text)
print(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~华~丽~丽~的~分~割~线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)text_content open(files/邮件模版.txt, rt, encodingutf-8).read()
text MIMEText(text_content % (xxxxxxxxxxxxxxxx), plain, utf-8)
message.attach(text)#
# 发送邮件
connect.sendmail(sender, to, message.as_string())# 关闭连接
connect.quit()