使用smtp发送邮件
起因
最近有个避免一人多个账号的需求,所以尝试用邮箱来注册账号。有两个想法是将消息发送给服务器,在去发送邮件,另一个是直接用python发送邮件,如果通过验证在将用户信息发送给服务器。最后决定采用第二个方案。说干就干,查了一下资料在此记录下过程。
过程
引入需要用的库1
2
3import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
MIMEText用于创建发送的信息,消息内容是需要发送的文本之类的,消息类型大部分就用’plain’和’html’分别是文本内容和html,最后是编码格式.。1
msg = MIMEText('消息内容','消息类型','utf-8')
接着设置发件人和收件人、主题1
2
3msg['From'] = formataddr(['发件人','发件人邮箱'])
msg['To'] = formataddr(['收件人','收件人邮箱'])
msg['subject'] = '消息主题'
最后连接上服务器发送就可以了1
2
3
4
5
6
7server = smtplib.SMTP_SSL("服务器SMTP地址",post)
# 登录信息
server.login('发件人邮箱','SMTP授权码')
# 发送消息
server.sendmail('发件人邮箱','收件人邮箱',msg.as_string())
# 关闭连接
server.quit()
这样就可以将消息发送给对方了