使用smtp发送邮件

  1. 1. 起因
  2. 2. 过程

使用smtp发送邮件

起因

最近有个避免一人多个账号的需求,所以尝试用邮箱来注册账号。有两个想法是将消息发送给服务器,在去发送邮件,另一个是直接用python发送邮件,如果通过验证在将用户信息发送给服务器。最后决定采用第二个方案。说干就干,查了一下资料在此记录下过程。

过程

引入需要用的库

1
2
3
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

MIMEText用于创建发送的信息,消息内容是需要发送的文本之类的,消息类型大部分就用’plain’和’html’分别是文本内容和html,最后是编码格式.。

1
msg = MIMEText('消息内容','消息类型','utf-8')

接着设置发件人和收件人、主题

1
2
3
msg['From'] = formataddr(['发件人','发件人邮箱'])
msg['To'] = formataddr(['收件人','收件人邮箱'])
msg['subject'] = '消息主题'

最后连接上服务器发送就可以了

1
2
3
4
5
6
7
server = smtplib.SMTP_SSL("服务器SMTP地址",post)
# 登录信息
server.login('发件人邮箱','SMTP授权码')
# 发送消息
server.sendmail('发件人邮箱','收件人邮箱',msg.as_string())
# 关闭连接
server.quit()

这样就可以将消息发送给对方了