Django发送邮件方法

在Django中将渲染后的模板进行邮件发送,可以使用send_email方法

首先在settings.py中添加如下配置

# 邮件配置SSL加密方式
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 465       # 使用SSL加密方式端口为465
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'pwd'
EMAIL_USE_SSL = True   # 使用SSL加密方式
EMAIL_FROM = '[email protected]'
# 邮件配置TTL加密方式
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 587       # 使用TTL加密方式端口为587
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = 'pwd'
EMAIL_USE_TTL = True   # 使用TTL加密方式
EMAIL_FROM = '[email protected]'

配置完成后,验证能够成功发送邮件

打开terminal,输入 python manage.py shell 打开shell,输入如下代码,如果返回值为1,则配置无误

from django.core.mail import send_mail
send_mail("Hello", "Hello World", "[email protected]", ['[email protected]'], fail_silently=False)

在views中编辑如下代码

from django.core.mail import EmailMessage
from django.template import loader
from settings import EMAIL_HOST_USER
import os

def send_html_mail(cls, subject, html_content, recipient_list):
    """
    发送邮件
    :param html_content:
    :param recipient_list:
    :return:
    """
    msg = EmailMessage(subject, html_content, EMAIL_HOST_USER, recipient_list)
    msg.content_subtype = "html"  # Main content is now text/html
    msg.send()

TEMPLATE_PATH = os.path.join(PROJECT_PATH, 'templates', 'report.html')
parameters = {'report_title':"this is a test report"}
subject = u'邮件主题'
html_content = loader.render_to_string(
    TEMPLATE_PATH,
    {
        'parameters': parameters
    }
)
send_html_mail(subject, html_content, ['[email protected]'])

原文地址:https://www.cnblogs.com/iamluoli/p/11479854.html

时间: 2024-10-28 10:34:36

Django发送邮件方法的相关文章

Django 发送邮件

Django 发送邮件 本章节涉及django的发邮件模块send_mail.send_mass_mail.EmailMultiAlternatives from django.core.mail import send_mail from django.core.mail import send_mass_mail from django.core.mail import EmailMultiAlternatives 1. 配置相关参数 如果用的是 163的企业邮箱,settings配置类似于

C# .NET发送邮件方法

一.发送邮件方法 1 ///<summary> 2 /// 发送邮件方法 3 ///</summary> 4 ///<param name="mailTo">收件人邮箱</param> 5 ///<param name="mailSubject">邮件标题</param> 6 ///<param name="mailContent">邮件内容</param&

django发送邮件的坑

django发送邮件的坑 配置django发邮件的时候本地发送时好好的,但是放到阿里云的服务器上却不能发送. 经过一系列的排查后终于发现是阿里云把25端口给封了. 后来改用smtps的方式发送,更改django的setting的邮件配置 1 EMAIL_PORT = 465 2 3 4 5 6 EMAIL_USE_SSL = True 将端口改为465 增加配置项: EMAIL_USE_SSL = True 到阿里云控制台开放465端口 重新运行django和celery 原文地址:https:

django 发送邮件的两个问题

基本配置 参考django doc中的文档:发送邮件 配置如下,settings中配置: EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = '25' EMAIL_HOST_USER = '[email protected]' EMAIL_HOST_PASSWORD = '******' # 填密码 然后调用send_mail发送邮件即可 subject = u'号码通激活' print name message = u'用户:' + name + u' 您好,首先

Django发送邮件及邮件激活

根据前端请求头中传入的JWT token的信息,使用DRF中追加的JWT认证判断是否登录 axios.get(this.host + '/user/', { // 向后端传递JWT token的方法 headers: { 'Authorization': 'JWT ' + this.token }, responseType: 'json', }) 在settins配置文件中添加配置DRF的JWT # 配置DRF REST_FRAMEWORK = { # 异常处理 'EXCEPTION_HAND

django发送邮件

在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们在Django环境中可以更方便更灵活的发送邮件. 所有的功能都在django.core.mail中. 一.快速上手 两行就可以搞定一封邮件: from django.core.mail import send_mail send_mail( 'Subject here', 'Here is the message.', '[email protected]', ['[email protected]

python发送邮件方法总结

python中email模块使得处理邮件变得比较简单,今天着重学习了一下发送邮件的具体做法,这里写写自己的的心得,也请高手给些指点.     一.相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍:    1.smtplib模块 smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])   SMTP类构造函数,表示与SMTP服务器之间的连接,通过这个连接可以向smtp服务器发送指令,执

PHPMailer发送邮件方法

/** * * 测试邮件发送s * @param 服务器 $Host * @param 端口 $Port * @param 昵称 $Fromname * @param 身份验证用户名 $Username * @param 身份验证密码 $Password * @param 发送人邮件地址 $From * @param 接收人邮件地址 $Address * @param 邮件标题 $Title * @param 邮件正文 $Message * @param 附件 $Attachment */ fu

发送邮件方法

//外发 function Email() { var box = ""; var ids = ""; if ($(":checkbox[name='delTrain']:checked").size() == 0) { alert("您没有选择要外发的数据!"); return; } if (!confirm('您真的要外发所选应用吗?')) { return false; } var c = 0; $("inpu