使用django进行发送 邮件

Posted lvye001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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 = 美多购物<[email protected]>‘  #注意这里格式也是你注册的邮箱

接着 使用我们的异步进行发送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 = "美多商城邮箱验证"
    html_message = <p>尊敬的用户您好!</p>                    <p>感谢您使用美多商城。</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字符串

 



以上是关于使用django进行发送 邮件的主要内容,如果未能解决你的问题,请参考以下文章

EmailMultiAlternatives 在 django 中发送带有图像的邮件时添加 3D

Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出

在 Django 中发送批量电子邮件

Django 1.11-如何使用仅支持NTLM身份验证的邮件服务器发送邮件

django实现发送邮件功能

Django不向管理员发送电子邮件