针对不同的场景有不同类型的短信,我们可以大致定义为:
纯文本电子邮件; HTML 电子邮件;带有附件的电子邮件。
本小节描述了发送纯文本电子邮件的第一种情况。
POP3是PostOfficeProtocol3的缩写,是邮局合同的第三版,它规定了如何将个人电脑连接到Internet的电子邮件服务器和下载电子邮件电子合同。它是第一个互联网电子邮件的离线合同标准。 POP3 允许用户将邮件从服务器存储到本地主机(即自己的电脑),同时删除短信服务器上存储的邮件,同时 POP3 服务器符合 POP3 合约的接收邮件服务器用于接收电子电子邮件。
1.2smtp
SMTP的全称是“SimpleMailTransferProtocol”,代表简单邮件传输协议。它是一组用于将电子邮件从源地址传输到目标地址的规范,通过它控制电子邮件的传输形式。 SMTP 合同属于 TCP/IP 合同系列,可帮助每台计算机在发送或中继信件时找到下一个目的地。 SMTP 服务器是符合 SMTP 合同的发送短信服务器。
2.邮件pop3/smtp服务配置
SMTP 认证,简单来说就是必须提供账户名和密码才能登录 SMTP 服务器,这让这些垃圾邮件发送者没有机会。降低 SMTP 身份验证的目的是保护用户免受垃圾邮件的侵害。目前,为了保证用户邮箱的安全,很多邮箱都默认关闭了POP3/SMTP/IMAP的开关。本节以QQ邮箱为例,配置pop3/smtp服务。登录成功后,进入【设置】->【账号】smtp授权码不能为空,在【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】,开启【POP3/SMTP服务】smtp授权码不能为空,如右图:
保存授权码后,点击确定按钮打开POP3/SMTP服务,如右图:
3.发送短信
发送短信如下代码所示:
#导入stmplib与email模块
import smtplib
from email.mime.text import MIMEText
host_server='smtp.qq.com' #初始化主机地址
#发件人邮箱
sender="xxxx@qq.com"
#发件人邮箱授权码
code="xlogucqphohxcabi"
#收件人邮箱
user="xxxx@163.com"
#准备邮件数据
#邮件标题
mail_title="第一封邮件"
#邮件发送的内容
mail_content="测试内容"
#SMTP
smtp=smtplib.SMTP(host_server)
#登录
smtp.login(sender,code)
#构建邮件主体内容
msg = MIMEText(mail_content, 'plain', 'utf-8')
msg['Subject']=mail_title
msg['From']=sender
msg['To']=user
#发送邮件
smtp.sendmail(sender,user,msg.as_string())
代码说明:首先,分别导入smtplib和email模块,使用email模块创建邮件数据,包括邮件标题、内容、发件人、收件人。邮件数据准备好后,通过smtplib模块创建一个smtp对象,将sender、sender、email内容传入其中,调用sendmail()发送邮件。执行完成后,打开收件人邮箱即可收到第一封邮件。邮箱,如右图:
3.总结
在本课程中,我们主要学习使用 smtplib 和 email 模块发送普通的文本邮件。本课重点如下: