小功能——简单代码实现邮箱发送邮件

首先在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中导入试图文件中方法

from myapp.mail_view import SendDJMail
 
配置路由代码:
path('sendmail',SendDJMail.as_view()),

最后在终端启动django服务

输入地址:http://127.0.0.1:8000/sendmail

如果出现这个页面则说明发送成功:

原文地址:https://www.cnblogs.com/wjohh/p/10549695.html