zoukankan      html  css  js  c++  java
  • Django学习之 邮件发送功能

    一.发送邮箱开启SMTP服务

    1.QQ邮箱

    进入邮箱设置-->账户--->找到SMTP相关--->点击开启--->根据提示发送短信

    2.163邮箱

    进入邮箱设置---->找到SMTP相关--->点击开启--->根据提示发送短信

    二.Django初始配置邮箱设置

    Django项目中的setting.py下配置邮件需要的相关参数:

    # 邮件相关配置
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_USE_SSL = True
    # EMAIL_USE_TLS = False
    EMAIL_HOST = 'smtp.163.com'  # 如果是 163 改成 smtp.163.com
    EMAIL_PORT = 465    # flase 就用25
    EMAIL_HOST_USER = 'xxxxx@163.com'  # 邮箱帐号
    EMAIL_HOST_PASSWORD = 'hsz12345'  # 密码,授权码
    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER  # 邮箱用户名,同EMAIL_HOST_USER

    三.视图与路由邮箱发送demo

    1.路由配置

    from .views import SendMail
    
    urlpatterns = [
    path(r'send_mail/', SendMail.as_view()),  # 发送邮件
    ]

    2.view视图函数

    from django.conf import settings
    from django.core.mail import send_mail
    
    class SendMail(APIView):
        def get(self, request, *args, **kwargs):
            messages = '尊敬的XXX,这个是消息内容'
            send_mail(subject='邮箱标题',
                      message=messages, from_email='xxxx@163.com',           # xxxx@163.com 为发送人的邮箱
                      recipient_list=['xxxx@qq.com'], fail_silently=False)   # xxxx@qq.com 为要接收邮件的邮箱
            return Response(status=status.HTTP_200_OK,
                            data={'code': 0, 'data': '', 'msg': '邮件发送成功'})

    3.测试url

    测试的url:http://127.0.0.1:8000/send_mail/

  • 相关阅读:
    Lambda表达式、解决端口占用问题
    springboot初始化报错: Failed to instantiate [XXX]: Specified class is an interface
    Spring声明式事务配置
    Springboot集成jsp
    点击redisserver.exe闪退
    Spring学习笔记
    Mybatis中 <![CDATA[ ]]> 的使用
    Mybatis学习笔记
    context:annotationconfig与context:componentscan的作用
    Spring学习笔记
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/12384766.html
Copyright © 2011-2022 走看看