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/