1、到QQ邮箱中,获取授权码
2、往下拉,启动服务
3、发送学习,获取授权码
二、django项目中
1、写一个email.py文件存放发送邮箱的类
import smtplib from email.header import Header from email.mime.text import MIMEText class Send_mail(object): '''发送邮件''' def __init__(self,sender,passward,receivers): self.sender=sender self.password=passward self.receivers=receivers def send(self,ShowText,Name,Header_show): ''' :param ShowText: 发送内容 :param Name: 发送者 :param Header_show: 发送文件抬头 :return: ''' message = MIMEText('%s'%(ShowText), 'plain', 'utf-8') message['From'] = Header("%s"%(Name), 'utf-8') message['To'] = Header(self.receivers) message['Subject'] = Header("%s"%(Header_show),'utf-8') smtpObj=smtplib.SMTP('smtp.qq.com') smtpObj.set_debuglevel(1) smtpObj.login(self.sender,self.password) smtpObj.sendmail(self.sender,self.receivers,message.as_string()) smtpObj.quit()
2、写一个函数,直接调用就发送邮件
def send_email(recv,code,timeout=5*60): import redis from luffyapi.utils import email #导入email模块 email_obj = email.Send_mail(sender='获取到授权码的邮箱', passward='授权码', receivers=recv) name = 'xxx网站' text = f'您的验证码是:{code}' head = 'xxx网站验证码:若非本人操作,请忽略此消息!!' email_obj.send(Name=name, ShowText=text, Header_show=head) #将验证码保存到redis数据库中,将db15作为保存验证码的专门数据库 r = redis.Redis(host='127.0.0.1', port=6379, decode_responses=True,db=15) key = 'LWHGS'+str(recv)#以字符串拼接上邮箱名设为key值 r.set(key,str(code),ex=timeout) #将验证码保存到redis中,设置过期时间 return True
3、使用:
直接调用步骤3中的函数
send_email('用户的邮箱地址','发送给用户的验证码')