前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 使用第三方服务发送电子邮件

Django 使用第三方服务发送电子邮件

作者头像
希希里之海
发布2018-07-05 10:35:33
1.9K0
发布2018-07-05 10:35:33
举报
文章被收录于专栏:weixuqin 的专栏weixuqin 的专栏

  在 Django 网站中使用 mailgun 的邮件收发服务。

1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图所示:

然后我们点击 Domain选项,可以看到系统自动为我们生成了一个默认可用域名,点进去查看详细信息。

注意这个域名只是作为测试用,如果需要用来收发电子邮件,你需要添加新域名或者在该测试域名设置下 Authorized Recipients -> Manage Authorized Recipients 添加收发信任邮箱。

2.安装 anymail 模块,该模块支持多个第三方邮件收发服务与 Django 建立连接。

代码语言:javascript
复制
pip install django-anymail

该模块的详细用法,参考:https://github.com/anymail/django-anymail

3.然后我们在 Django 项目中的 setting.py 文件中添加

代码语言:javascript
复制
INSTALLED_APPS = [
    # ...
    "anymail",
    # ...
]

ANYMAIL = {
    "MAILGUN_API_KEY": "your Mailgun key",
    "MAILGUN_SENDER_DOMAIN": 'mg.example.com',  # your Mailgun domain, if needed
}
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"  # or sendgrid.EmailBackend, or...
DEFAULT_FROM_EMAIL = "you@example.com"  # if you don't already have this in settings

MAILGUN_API_KEY 和 MAILGUN_SENDER_DOMAID 这两个参数,可以从邮件域名设置中找到:

view.py 文件中添加:

代码语言:javascript
复制
from django.core.mail import send_mail

#只需一个send_mail 函数,便能发送邮件
send_mail("It works!", "This will get sent through Mailgun",
          "Anymail Sender <from@example.com>", ["to@example.com"])

(官网的例子哈,跟我项目有差入就不修改了)

4.运行 Django 项目,填入反馈意见,便在我们设置的邮箱中收到发送的邮件。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档