发送邮件
代码
class EmailCode:
"""给邮箱发验证码"""
def send_email(self, receiver, ecode):
"""发送邮件"""
sender = "哎!**伤》<1******67@qq.com>"
content = f"<br/>欢迎注册土豆笔记博客系统账号,您的邮箱验证码为:<span style='color:red;font-size:20px;'>{ecode}</span>" \
f",感谢您对土豆笔记的支持!!!!!!!"
message = MIMEText(content, "html", "utf-8") # 实例化邮件对象,并指定邮件的关键信息
message["Subject"] = Header("土豆笔记的注册验证码", 'utf-8') # 只当邮件的标题
message["From"] = sender # 指定发件人信息
message["To"] = receiver # 指定收件人邮箱地址
smtpObj = SMTP_SSL("smtp.qq.com") # 建立与QQ邮箱服务器的连接
smtpObj.login(user="1******67@qq.com", password="gm********ijij") # 通过你的邮箱账号和获取到授权码登录邮箱
smtpObj.sendmail(sender, receiver, str(message)) # 指定发件人,收件人和邮件内容
smtpObj.quit()
def get_email_code(self):
"""生成6位随机字符串作为邮箱验证"""
str = random.sample(string.digits, 6)
return "".join(str)
if __name__ == '__main__':
code = EmailCode().get_email_code()
print(code)
EmailCode().send_email("1224141267@qq.com", code)
注:以上带星号(*)的位置需要填写自己的邮箱和授权码
web调用
@user.route("/ecode", methods=["POST"])
def ecode():
"""获取邮箱验证码"""
email = request.form.get("email")
code = EmailCode().get_email_code()
try:
EmailCode().send_email(email, code)
return "send-pass"
except:
return "send-fail"
QQ邮箱的操作
之后就有个授权码,按照操作发短信即可