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 = '[email protected]'  # 邮箱帐号
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='[email protected]',           # [email protected] 为发送人的邮箱
                  recipient_list=['[email protected]'], fail_silently=False)   # [email protected] 为要接收邮件的邮箱
        return Response(status=status.HTTP_200_OK,
                        data={'code': 0, 'data': '', 'msg': '邮件发送成功'})

3.测试url

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

猜你喜欢

转载自www.cnblogs.com/hszstudypy/p/12384766.html