Django调用MTP服务器给指定邮箱发送邮件

发布于:2024-05-08 ⋅ 阅读:(25) ⋅ 点赞:(0)

Django调用MTP服务器发送邮箱

邮箱的激活链接含有用户数据不能直接发送需要对其进行加密

发送邮箱是借助SMTP服务器进行中转

一. 配置SMTP服务中的邮箱信息以及激活链接

1. 配置邮箱权限

打开网易邮箱设置点击POP3

在这里插入图片描述

开启选项

在这里插入图片描述

注 : 在打开的过程中会弹出授权密码一点要保存

2. 配置SMTP服务中的邮箱信息以及激活链接

# setting

# 发送邮件的配置参数
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 	# 指定邮件后端
EMAIL_HOST = 'smtp.163.com'	 	# 发邮件主机
EMAIL_PORT = 25		# 发邮件的端口
EMAIL_HOST_USER = ''		# 授权邮箱
EMAIL_HOST_PASSWORD = ''		# 邮箱授权时获取的密码,非登录邮箱的密码
EMAIL_FROM = ''		# 发件人抬头

# 设置邮箱的激活连接 (请求时访问的链接 , url的参数要与其设置相同)
EMAIL_VERIFY_URL = 'http://127.0.0.1:8000/verification/'

3. 在测试文件中检验是否能发送信息

发送验证码是通过from django.core.mail import send_mail中的send_mail模块

在这里插入图片描述

各参数的作用

'''
    subject: 邮件标题
    message: 邮件正文(普通的文本文件,字符串)
    from_email: 发件人抬头
    recipient_list: 收件人邮箱 (列表格式)
    html_message: 邮件正文(文件可以带渲染格式)
'''

发送验证码

# test

if __name__ == '__main__':
    import os
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ShopSystem.settings')
    import django
    django.setup()

    from django.core.mail import send_mail
    # 标题
    subject = '验证邮箱'
    # 内容
    message = '验证码'
    # 表头
    from_email = '几许-<13329239941@163.com>'
    # 发送到的邮箱
    recipient_list = ['1529063814@qq.com']

    send_mail(subject, message, from_email, recipient_list)