目录
1、首先在浏览器打开qq邮箱进行登录,登录。链接:https://mail.qq.com/
这篇文章以QQ邮箱发送邮件为例。
1、首先在浏览器打开qq邮箱进行登录,登录。链接:https://mail.qq.com/
2、进入到设置。注:登录之后会出现下面两种界面的其中一种


第一张的设置已标出
第二张的设置在下图的位置

3、进入设置后
如果是第一张图开启POP3/SMTP服务

根据提示,短信验证成功后会出现密钥,讲密钥复制粘贴保存很重要!!!
如果是第二张图找到第三方服务
把IMAP/SMTP服务开启生成授权码

根据提示,验证成功后会出现授权码,讲授权码复制粘贴保存很重要!!!
4、配置setting.py文件
EMAIL_BACKEND = 'django.core.mail.backend.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'#发送邮箱的地址,因为我用的是qq邮箱所以是qq邮箱的服务器地址
EMAIL_PORT = 25 #端口号
EMAIL_HOST_USER = ''#发送消息邮箱即开通服务的邮箱
EMAIL_HOST_PASSWORD = ''#密钥或授权码
EMAIL_FORM = ''#来路邮箱和EMAIL_HOST_USER同一个5、在views.py视图文件导入发送邮件的类
form django.core.mail import send_mailsend_mail(subject,message,from_email,recipient_list,fail_silently=False,auth_user=None,auth_password=None)
参数:subject、message、 from_email、recipient_list为必须的
(1)、subject:邮箱的主题
(2)、message:发送的内容
(3)、from_email:发送邮件的名称
(4)、recipient_list:是个列表,每一项都是一个邮箱地址,是邮件的收件地址
(5)、fail_silently: 一个布尔值。若为 False , send_mail() 会在发生错误时抛出 smtplib.SMTPException 。可在 smtplib
文档找到一系列可能的异常,它们都是 SMTPException 的子类。
(6)、 auth_user: 可选的用户名,用于验证登陆 SMTP 服务器。 若未提供, Django 会使用 EMAIL_HOST_USER 指定
的值。
(7)、 auth_password: 可 选 的 密 码 , 用 于 验 证 登 陆 SMTP 服 务 器 。 若 未 提 供 , Django 会 使 用
EMAIL_HOST_PASSWORD 指定的值。
(8)、connection: 可选参数,发送邮件使用的后端。若未指定,则使用默认的后端。
(9)、html_message: 若提供了 html_message ,会使邮件成为 multipart/alternative 的实例, message 的内容类型则是
text/plain ,并且 html_message 的内容类型是 text/html 。
(10)、返回值会是成功发送的信息的数量(只能是 0 或 1 ,因为同时只能发送一条消息)
6 编写视图函数
import re
from django.shortcuts import HttpResponse
from django.core.mail import send_mail
def gerCode(request):
email = request.GET.get('email')#get传参,接收收件邮箱
if not re.match(r"^\w+[-_.]*[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$",emali):
#判断邮箱格式是否符合,不符合停止
return HttpResponse('邮箱不符合格式')
isturn = send_email('这是验证码','这是我发送的消息',[email],fail_silently=False)
if isturn:
return HttpResponse('发送成功')
else:
return HttpResponse('发送失败')
注:记得配置路由
版权声明:本文为weixin_65565362原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。