【Django】在项目中配置Mailgun并发送邮件

作者: 苍云横渡 | 来源:发表于2018-04-18 19:32 被阅读34次

原文链接:http://www.cloudcrossing.xyz/post/26/

最近在给我的 博客-苍云横渡 添加发送邮件重置密码的功能,写下这篇教程以免自己再走弯路。

在本教程中,我使用了 Mailgun 服务配置博客进行邮件的发送。

注册Mailgun并添加新域名

点击 www.mailgun.com 进行注册,点掉箭头指向的勾勾,免费用户每个月发送的前10,000封电子邮件免费,这对于小型博客来说足够了。

接着点击域名,然后添加新域名

按照 mg.mydomain.com 的格式进行新域名的添加(记住下面所有的 cloudcrossing.cn 都换车你自己的域名

接着点击添加新域名。


添加发送DNS解析记录

点击添加新域名之后,会看到

接下来访问域名的DNS提供商,即腾讯云、阿里云等等。 进入以下界面,点击添加记录。

TXT records(主机名或域名设置的说明)添加进去

MX records(邮件交换记录,用于将以该域名为结尾的电子邮件指向对应的邮件服务器以进行处理)添加进去


添加追踪DNS解析记录

以类似的方式,将CNAME record(用于跟踪打开,点击等)添加进去

最终添加了五条记录。


等待域名验证

点击 Continue To Domain Overview ,等待生效。你将会看到如下界面。

官方说24h-48h,但是一般五分钟就生效了。

记住你的帐号、密码(可以修改)


配置settings.py

#settings.py
EMAIL_BACKEND = django.core.mail.backends.smtp.EmailBackend
EMAIL_HOST = smtp.mailgun.org
EMAIL_PORT = 587
EMAIL_HOST_USER = postmaster@mg.cloudcrossing.cn
EMAIL_HOST_PASSWORD = xxxxxx
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

最后可以自行进行简单的测试。


Django自带邮件功能

Django自带了一个处理发送邮件的模块叫 smtplib,该模块在django.core.mail里边。

send_mail() 使用以下参数:

  • subject :一个字符串;
  • message :一个字符串;
  • from_email :一个字符串;
  • recipient_list :字符串列表;
  • fail_silently :一个布尔值;
  • auth_user :用于向SMTP服务器进行身份验证的可选用户名;
  • auth_password :用于验证SMTP服务器的可选密码;
  • connection :用于发送邮件的可选电子邮件后端;
  • html_message :包含HTML格式消息的可选字符串。

返回值将成功传递消息的数量(可以是0或1,因为它只能发送一条消息)。

send_mass_mail():处理大量电子邮件的功能,使用以下参数:

  • datatuple :一个元组 (subject, message, from_email, recipient_list)
  • fail_silently :一个布尔值;
  • auth_user :用于向SMTP服务器进行身份验证的可选用户名;
  • auth_password :用于验证SMTP服务器的可选密码;
  • connection :用于发送邮件的可选电子邮件后端;

举个例子:

message1 = ('Subject here', 'Here is the message', 'from@example.com', ['first@example.com', 'other@example.com'])
message2 = ('Another Subject', 'Here is another message', 'from@example.com', ['second@test.com'])
send_mass_mail((message1, message2), fail_silently=False)

返回值将是成功传递消息的数量。


参考链接:
http://t.cn/Rm1sWnC
http://t.cn/Rm1sRCO

相关文章

  • 【Django】在项目中配置Mailgun并发送邮件

    原文链接:http://www.cloudcrossing.xyz/post/26/ 最近在给我的 博客-苍云横渡...

  • Mailgun 邮件发送

    注册需要梯子 点击注册 注册成功, 可以看到,右侧提供了,很多调用方式, 左侧列出了开始步骤。 在邮箱中点击链接,...

  • email

    1. django 发送邮件 settings.py中配置发送邮件邮箱 使用send_mail方法发送邮件

  • 2018-07-17

    发送邮件 django中内置了邮件发送功能,被定义在django.core.mail模块中,发送邮件需要使用SMT...

  • smtp服务器开启

    发送邮件 Django中内置了邮件发送功能,被定义在django.core.mail模块中。发送邮件需要使用SMT...

  • Django配置邮件发送

    配置setting 调用 详细信息 https://docs.djangoproject.com/en/2.1/t...

  • Spring Boot 邮件发送

    Spring Boot 邮件发送 依赖配置 build.gradle 邮件服务器配置 以下是邮件相关配置项说明 以...

  • PPMESSAGE 集成邮件收发

    PPMESSAGE 提供了邮件系统集成,目前支持 MAILGUN 的邮件服务,如果您已经注册了 MAILGUN 的...

  • Django笔记:邮件发送

    Django有一系列内置的模块,提供了多种邮件发送的方法。在实现邮件发送功能之前,需要对邮箱进行相关配置。以QQ邮...

  • django发送邮件与获取ip

    发送邮件 博客想做一个评论时收到收件的功能,方便得知最新动态,在django下简单配置下就能实现。 django获...

网友评论

    本文标题:【Django】在项目中配置Mailgun并发送邮件

    本文链接:https://www.haomeiwen.com/subject/wyxbkftx.html