首先在ssettings中设置邮件服务配置文件,本文以QQ邮箱为例:
如图:
QQ邮箱密钥授权办法:
1:首先登陆QQ邮箱找到设置-->>账户
2,下拉找到SMTP服务并开启 如图:
3,开启后需要发送验证么进行验证 验证成功后系统会生成一个密钥 然后再settings中直接输入即可
注:settings中访问来源也需要相应的设置 本人设置的为“ * ” 如图:
其次写一个发送邮件的复用类 以防以后作邮箱验证,修改密码之时要用 具体代码如下:
创建 mail_tool.py 文件
#导包 #导入send_mail from django.core.mail import send_mail #导入默认发送邮箱 from mymac.settings import DEFAULT_FROM_EMAIL #时间模块 import time #定义发送邮箱类 class SendMail(object): #初始化方法 def __init__(self,title,body,email_to,from_email): self.title = title self.body = body self.email_to = email_to self.from_email = from_email #定义发送方法* def do_send_mail(self): #开始发送邮件 send_status = send_mail(self.title,self.body,self.from_email,self.email_to) if send_status: return ‘发送成功‘ + time.ctime() else: return ‘发送失败‘ + time.ctime()
创建试图文件 mail_view.py 具体代码如下:
from django.shortcuts import render,redirect from django.http import HttpResponse,HttpResponseRedirect #导入试图方法 from django.views import View #导入反向解析方法 from django.urls import reverse #导入发件人 from mymac.settings import DEFAULT_FROM_EMAIL #倒入邮件类 from myapp.mail_tool import SendMail #定义类视图 class SendDJMail(View): #定义发送方法 def get(self,request): #实例化对象 SendMail方法方法相对应的参数位置必须固定第一个为标题,第二个为内容, # 第三个为接收者的邮箱地址,本为问发送到笔者自己的邮箱 。 第四个制定的是setting中制定的发件人固定方法 sendmail = SendMail(‘你好‘,‘这是个测试文件‘,[‘234944446@qq.com‘],DEFAULT_FROM_EMAIL) return HttpResponse(sendmail.do_send_mail())
配置 url urls.py中导入试图文件中方法
最后在终端启动django服务
输入地址:http://127.0.0.1:8000/sendmail
如果出现这个页面则说明发送成功:
原文:https://www.cnblogs.com/wjohh/p/10549695.html