49. Django 2.1.7 使用内置函数发送邮件

2022-01-17 09:33:23 浏览数 (1)


Django中内置了邮件发送功能,被定义在django.core.mail模块中。发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以163邮件为例。

1)注册163邮箱,登录后设置。

设置开启邮件服务,如下:

2)在新页面中点击“客户端授权密码”,勾选“开启”,弹出新窗口填写手机验证码。

3)填写授权码。

4)提示开启成功。

5)打开项目/settings.py文件,配置如下:

代码语言:javascript复制
# 配置发送邮件服务器
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 25
#发送邮件的邮箱
EMAIL_HOST_USER = '****@163.com'
#在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = '****'
#收件人看到的发件人
EMAIL_FROM = 'Django<****@163.com>'

6)在assetinfo/views.py文件中新建视图send。

代码语言:javascript复制
from django.conf import settings
from django.core.mail import send_mail
from django.http import HttpResponse

def send(request):
    msg='<a href="http://www.baidu.com/" target="_blank">访问百度</a>'
    send_mail('访问百度','',settings.EMAIL_FROM,
              ['lijw@****.cn'],
              html_message=msg)
    return HttpResponse('ok')

7)在assetinfo/urls.py文件中配置。

代码语言:javascript复制
urlpatterns = [
    # ex:/assetinfo/send
    path('send', views.send , name='send'),
]

8)启动服务器,在浏览器中输入如下网址:

http://127.0.0.1:8000/assetinfo/send

邮件发送成功后,在邮箱中查看邮件如下图:

0 人点赞