Django_发送邮件

目录

一、开启SMTP服务并获取授权码

二、在Django的配置文件中添加邮箱服务配置

三、发送邮箱代码

源码等资料获取方法


使用django邮箱功能需要搭建smtp服务器,如果没有,可以使用第三方smtp服务器。

本文以第三方QQ邮箱服务器演示如何使用python的smtplib+email完成邮箱发送功能。

一、开启SMTP服务并获取授权码

具体参考email + smtplib使用简介。

二、在Django的配置文件中添加邮箱服务配置

# 设置使用django的smtp配置(固定值)
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# smpt服务地址(根据选择smtp服务器配置)
EMAIL_HOST = 'smtp.qq.com'
# 邮箱端口(在django中是固定值)
EMAIL_PORT = 25
# 发送邮件的邮箱
EMAIL_HOST_USER = '[email protected]'
# 在邮箱中设置的客户端授权密码(第一步获取的授权码)
EMAIL_HOST_PASSWORD = 'spisXXXXXtbidj'
# 邮箱中显示的发件人(必须与EMAIL_HOST_USER 的值一致)
EMAIL_FROM = '[email protected]'

三、发送邮箱代码

import os

from dailyfresh import settings
from django.core.mail import EmailMultiAlternatives

# 导入配置django配置文件
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')

subject = 'Django邮件调试'    # 邮件标题
message = 'test'            # 发送内容
sender = settings.EMAIL_FROM    # 发送人
receiver = ["[email protected]"]  # 收件人
cc_receiver = ["[email protected]"]  # 抄送人

_email = EmailMultiAlternatives(subject=subject, body=message, from_email=sender, to=receiver, cc=cc_receiver)
# 添加html内容(注:如果添加了html内容,message的内容不会被发送)
html_msg = "<div><h1>H1标签</h1></div><div><h3>H3标签</h3></div>"
_email.attach_alternative(html_msg, "text/html")

# 添加附件
with open("./test.pdf", "rb") as f:
    content = f.read()
attach_file_name = "attach_file1.pdf"    # 邮箱中显示的附件名称
_email.attach(attach_file_name, content)
# 添加多个附件,多次调用attach方法即可
attach_file_name = "attach_file2.pdf"
_email.attach(attach_file_name, content)

# 发送邮件
_email.send()

接收邮件如下:


源码等资料获取方法

各位想获取源码的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

猜你喜欢

转载自blog.csdn.net/GDYY3721/article/details/131623142
今日推荐