python实现自动发送验证邮件
程序员文章站
2022-07-08 10:03:04
...
最近在忙的一个在线论坛的项目的注册环节需要实现发送验证邮件功能,想着这种功能python肯定有库,查了查果不其然。
两个库smtplib和email都是自带的,连装都不用装(python 3.7.0)
注意点:
这里的密码基本上都不是你平时登陆邮箱的密码,都是授权码,例如QQ的http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
然后就是smtp地址要根据自己的邮箱商家查,一般自己邮箱设置里就有。
代码:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
receiver = input()#收件人邮箱
idCode = input()#验证码
smtpserver = 'smtp.qq.com'
username = 'aaa@qq.com'
password = 'xxxxx'
sender = username#sender一般要与username一样
subject = '注册验证邮件,请勿回复'
subject = Header(subject, 'utf-8').encode()
#构造邮件对象MIMEMultipart对象
#主题,发件人,收件人等显示在邮件页面上的。
msg = MIMEMultipart('mixed')
msg['Subject'] = subject
msg['From'] = 'Mr.Van'
msg['To'] = receiver
#构造文字内容
text = "Hi man!\n这是你的验证码:" + idCode
text_plain = MIMEText(text,'plain', 'utf-8')
msg.attach(text_plain)
#发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
#用set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息。
#smtp.set_debuglevel(1)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
运行效果:
上一篇: 万历皇帝为什么早年就开始寻找陵寝了?
下一篇: login