大连企业网站模板,做网站和做网页有什么区别,wordpress搜索功能,怀化seo优化目录
一、理论
1.邮件发送
二、实验
1.Python3.7使用QQ邮箱发送普通邮件
2.Python3.7使用QQ邮箱发送包含图片与附件的邮件
三、问题
1.Pycharm中如何放大和缩小代码界面 一、理论
1.邮件发送
#xff08;1#xff09;概念 SMTP#xff08;Simple Mail Transfer Pro…目录
一、理论
1.邮件发送
二、实验
1.Python3.7使用QQ邮箱发送普通邮件
2.Python3.7使用QQ邮箱发送包含图片与附件的邮件
三、问题
1.Pycharm中如何放大和缩小代码界面 一、理论
1.邮件发送
1概念 SMTPSimple Mail Transfer Protocol即简单邮件传输协议,它是⼀组⽤于由源地址到⽬的地址传送 邮件的规则由它来控制信件的中转⽅式。 2实现
#实现发送邮件需经过以下⼏步
1 登录 邮件服务器
2 构造符合邮件协议规则要求的邮件内容 email模块
3 发送
3模块
Python对SMTP⽀持有 smtplib 和 email 两个模块 email 负责构造邮件 smtplib 负责发送邮件,它 对smtp协议进⾏了简单的封装。
①smtplib模块
1smtplib模块负责发送邮件
2smtplib模块还提供了SMTP_SSL类和LMTP类对它们的操作与SMTP基本一致。host: SMTP服务器主机。 你可以指定主机的ip地址或者域名如: hellobi.com这个是可选参数。port: 如果你提供了host参数, 你需要指定 SMTP 服务使用的端口号一般情况下SMTP端口号为25。local_hostname: 如果SMTP在你的本机上你只需要指定服务器地址为localhost即可。②email.utils模块
email.utils模块中提供了几个有用的方法
1email.utils.quote(str)
将str中的反斜杠替换为两个反斜杠的新字符串并将双引号替换为反斜杠双引号。2email.utils.unquote(str)
返回一个不带引号的str的新字符串。如果str结束并以双引号开头则会被剥离。同样如果str结束并以尖括号开始它们将被剥离。3email.utils.parseaddr(address)
解析地址 - 应该是某个包含地址的字段例如“ 收件人”或“ 抄送”的值并将其解析为其真实姓名和 电子邮件地址部分。返回该信息的元组除非解析失败在这种情况下返回2元组。(, )4email.utils.formataddr(pair)
与此相反parseaddr()这需要表单的2元组并返回适合于XX标题的字符串值。如果pair的第一个元素为false则第二个元素将不加修改地返回。(realname, email_address)实际上parseaddr(), formataddr(),两者互逆。5email.utils.getaddresses(fieldvalues)
此方法返回由返回的表单的2元组列表parseaddr()。 fieldvalues是可能返回的一系列头字段值 Message.get_all。
③email模块
email模块负责构造邮件
1类email.mime.text.MIMEText(_text)是使用字符串_text来生成MIME对象的主体文本。2MIME是(Multipurpose Internet Mail Extensions) 多用途互联网邮件扩展类型。3MIME设置的目的是为了在发送电子邮件时附加多媒体数据让邮件根据其类型进行处理。4email.encoders 编码器5email.mime.multipart.MIMEMultipart是MIMEBase的一个子类多个MIME对象的集合MIME邮件中各种不同类型的内容是分段存储的各个段的排列方式、位置信息都通过Content-Type域的multipart类型来定义。_subtype默认值为mixedmultipart类型主要有三种子类型mixed、alternative、related。boundary是MIMEMultipart的边界默认边界是可数的。6email.mime.MIMEBase 发送pdf/jpg/png等格式7email.mime.MIMEApplication 发送txt/doc/csv/xls等plain格式
二、实验
1.Python3.7使用QQ邮箱发送普通邮件
1查看QQ邮箱服务(服务已关闭) 2绑定手机 3开启授权码 4再次查看服务已开启 5配置代码
# -*- coding: utf-8 -*-import smtplib
import email.utils#邮件正文
from email.mime.text import MIMEText#登录邮件服务器
smtp_obj smtplib.SMTP_SSL(smtp.qq.com, 465) # 发件⼈邮箱中的SMTP服务器端⼝是25
smtp_obj.login(594372682qq.com, 授权码) # 括号中对应的是发件⼈邮箱账号、邮箱密码
smtp_obj.set_debuglevel(True)
#smtp_obj.set_debuglevel(1) # 显示调试信息
# 设置邮件头信息
message MIMEText(我是邮件的内容)
message[From] email.utils.formataddr((发送者显示的姓名, 594372682qq.com)) # 发送者
message[To] email.utils.formataddr((接收者显示的姓名, 7jjw163.com)) # 接收者
message[Subject] 我是邮件的标题 # 主题
# 发送
try:smtp_obj.sendmail(594372682qq.com, [7jjw163.com], msgmessage.as_string())
finally:smtp_obj.quit() 6接收成功 7查看控制台信息 2.Python3.7使用QQ邮箱发送包含图片与附件的邮件
1配置代码
# -*- coding: utf-8 -*-import smtplib
import email.utils
from email import encoders
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.base import MIMEBasemessage MIMEMultipart()
message[To] email.utils.formataddr((接收者显示的姓名, 7jjw163.com))
message[From] email.utils.formataddr((发送者显示的姓名, 594372682qq.com))
message[Subject] 我是邮件的标题# 需要发送的图片
img_file open(r1.jpg, rb)
img_data img_file.read()
img_file.close()
img MIMEImage(img_data)
message.attach(img)
img.add_header(Content-ID, dns_config) # 给一个content Id供后面html内容引用
# 需要发送的文本
mail_content htmlbodyp我给你发送的图片/pimg srccid:dns_config/body/htmlmessage.attach(MIMEText(mail_content, html, utf-8))
# 需要发送的附件
txt_payload MIMEBase(application, octet-stream)
txt_payload.set_payload(open(rtest.txt, rb).read())
txt_payload[Content-Type] application/octet-stream
txt_payload[Content-Disposition] attachment; filename test.txt
encoders.encode_base64(txt_payload)
message.attach(txt_payload)smtp_obj smtplib.SMTP_SSL(smtp.qq.com, 465)
smtp_obj.login(594372682qq.com, 授权码)
smtp_obj.set_debuglevel(True)
try:smtp_obj.sendmail(594372682qq.com, [7jjw163.com], msgmessage.as_string())
finally:smtp_obj.quit()2接收成功 3查看控制台信息 三、问题
1.PyCharm中如何放大和缩小代码界面
1打开文件点击设置 2选择“keymap”右侧搜索框输入“increase”搜索出来之后双击选择“Add Mouse Shortcut” 3在操作框按住“Ctrl”并将鼠标滚轮上滑完成设置点击OK关闭界面 4选择“keymap”右侧搜索框输入“decrease”搜索出来之后双击选“Add Mouse Shortcut” (5) 在操作框按住“Ctrl”并将鼠标滚轮下滑完成设置点击OK关闭界面