1.html部分
代码:
<form action="/send_html/" method="POST">
{% csrf_token%}
<button type="submit">发送邮件</button>
</form>
2.url.py部分
代码:
#邮箱发送设置
path('send_html/', test.send_html),
path('send_html/', test.send_email),
3.setting.py设置
代码:
# 设置邮件域名
EMAIL_HOST = 'smtp.qq.com'
# 设置端口号,为数字
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = '123456789@qq.com'
# 设置发件人 授权码
EMAIL_HOST_PASSWORD = '自己申请的授权码'
# 设置是否启用安全链接
EMAIL_USER_TLS = True
# 以上这个配置信息,Django会自动读取,
# 使用账号以及授权码进行登录,
# 如果登录成功,可以发送邮件
# 腾讯企业邮箱支持通过客户端进行邮件管理。
# POP3/SMTP协议
# 收发邮件服务器地址分别如下。
# 接收邮件服务器:pop.exmail.qq.com (端口 110)
# 发送邮件服务器:smtp.exmail.qq.com (端口 25)
# 同时支持SSL加密方式登录,此时需要更改一下端口号。
# 接收服务器端口:995
# 发送服务器端口:465
# IMAP协议
# 接收邮件服务器:imap.exmail.qq.com
# 如果使用SSL加密方式,接收服务器端口是: 993
4.view.py
代码:
# ### 引入发送邮件的模块
from django.core.mail import send_mail, send_mass_mail, EmailMultiAlternatives
from django.conf import settings
#单个发邮件
def send_email(request):
if request.method == 'POST':
# 值1: 邮件标题 值2: 邮件主体
# 值3: 发件人 值4: 收件人
res = send_mail('关于中秋节放假通知',
'中秋节放三天假',
'123456789@qq.com',
['123456789@qq.com'])
if res == 1:
return HttpResponse('邮件发送成功')
else:
return HttpResponse('邮件发送失败')
else:
return render(request, 'test.html')
#群体发邮件
# 值1: 邮件标题 值2: 邮件主体
# 值3: 发件人 值4: 收件人
def send_html(request):
html_message = '<a href="http://www.baidu.com">百度</a>'
res = EmailMultiAlternatives('关于对点击事件的安排,请点击连接','请点击下面的链接:' + html_message,
'123456789@qq.com',
['123456789@qq.com','987654321@qq.com', '123654789@qq.com',])
res.content_subtype = 'html'
result = res.send()
if result==1:
result='发送成功'
else:
result = '发送失败'
return HttpResponse(result)