使用django进行发送 邮件

我们来看一下 django发送 邮件的整个流程

第一步:例先去 网易163注册账号并激活发邮件功能

把授权码进行 开启

来到我们的项目setting中进行 一个配置:

# 邮箱的配置信息
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.126.com'
EMAIL_PORT = 25
#发送邮件的邮箱
EMAIL_HOST_USER = 'xxxxxxxxxx@126.com'     #这里填写你注册的邮箱即可
#在邮箱中设置的客户端授权密码
EMAIL_HOST_PASSWORD = 'yangzhenyu9406'     #这里是你的发邮件授权码
#收件人看到的发件人
EMAIL_FROM = 'XX购物<xxxxxxxxx@126.com>'  #注意这里格式也是你注册的邮箱

接着 使用我们的异步进行发送email

from celery import Celery

broker_url = "redis://127.0.0.1:6379/14"
result_backend = "redis://127.0.0.1:6379/15"
app = Celery('tasks', broker=broker_url, backend=result_backend)

# 为celery使用django配置文件进行设置
import os,sys
from django.conf import settings
from django.core.mail import send_mail

sys.path.append('C:\Users\Administrator\Desktop\meiduo01\meiduo_mall')   #设置这两行参数 主要
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "meiduo_mall.settings.dev")

@app.task(name='send_verify_email')  # 给任务取一个名字,一般就是函数名字
def send_verify_email(to_email, verify_url):
    subject = "XX商城邮箱验证"
    html_message = '<p>尊敬的用户您好!</p>' 
                   '<p>感谢您使用XX商城。</p>' 
                   '<p>您的邮箱为:%s 。请点击此链接激活您的邮箱:</p>' 
                   '<p><a href="%s">%s<a></p>' % (to_email, verify_url, verify_url)
    send_mail(subject, "", settings.EMAIL_FROM, [to_email], html_message=html_message)
参数解析:

在django.core.mail模块提供了send_mail来发送邮件。 send_mail(subject, message, from_email, recipient_list,html_message
=None) subject 邮件标题 message 普通邮件正文, 普通字符串 from_email 发件人 recipient_list 收件人列表 html_message 多媒体邮件正文,可以是html字符串
原文地址:https://www.cnblogs.com/lvye001/p/10062548.html