目录
一、开启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 = '41XXXXX67@qq.com'
# 在邮箱中设置的客户端授权密码(第一步获取的授权码)
EMAIL_HOST_PASSWORD = 'spisXXXXXtbidj'
# 邮箱中显示的发件人(必须与EMAIL_HOST_USER 的值一致)
EMAIL_FROM = '41XXXXX67@qq.com'
三、发送邮箱代码
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 = ["XXXX@qq.com"] # 收件人
cc_receiver = ["41XXXXX67@qq.com"] # 抄送人
_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()
接收邮件如下:
源码等资料获取方法
各位想获取源码的朋友请点赞 + 评论 + 收藏,三连!
三连之后我会在评论区挨个私信发给你们~