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/

 

posted @ 2019-12-30 19:10  pycoder_hsz  阅读(245)  评论(0编辑  收藏  举报