51uwb.cn
标题:
Django 使用Mailgun 发送mail
[打印本页]
作者:
admin
时间:
2018-1-14 19:28
标题:
Django 使用Mailgun 发送mail
Mailgun 是一个免费的邮件发送服务器,我这样定义它,自己的服务器上就不用搭建邮件服务器了,有些主机供应商是不同意在他的主机上不允许搭建的。
闲话不多说,按照《python 新手使用Django架站的16堂课》 搭建失败,提示
No module named packages.urllib3.filepost
Google学习,不用书中所谓的django-mailgun这个应用了,使用开源的anymail :
https://github.com/anymail/django-anymail
按照提示安装配置
$ pip install django-anymail[mailgun]
复制代码
具体setting配置
INSTALLED_APPS = [
# ...
"anymail",
# ...
]
ANYMAIL = {
# (exact settings here depend on your ESP...)
"MAILGUN_API_KEY": "key-XXXXXXXXXXX",
"MAILGUN_SENDER_DOMAIN": bphero.com.cn', # 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中,我自己用来我的域名bphero.com.cn,没有用默认给定的域名
(, 下载次数: 1100)
上传
点击文件名下载附件
关于添加域名方法:
https://app.mailgun.com/app/domains/bphero.com.cn/verify
按照网页提供的方法设定TXT 和 CNAME,而MX 是推荐设定,我没有设定。 这些设定需要到域名服务商设定,我用的Godday 上设定的,设定完,点击verify,很快就OK了
然后在Django 代码里添加发送mail函数,参考git
from django.core.mail import send_mail
send_mail("It works!", "This will get sent through Mailgun","Anymail Sender <admin@bphero.com.cn>", ["XXX@example.com"])
复制代码
说明一下各个字段的作用: “It works!” 邮件的标题
“This will get sent through Mailgun" 邮件内容
"Anymail Sender <
admin@bphero.com.cn
>" 发件人,Anymail 和admin 都可以修改,后面的域名bphero.com.cn 不可以修改
["XXX@example.com"] 收件人邮件地址。
方式调试发现无法发送出去,错误提示:
Free accounts are for test purposes only. Please upgrade or add the address to authorized recipients in Account Settings
复制代码
在mailgun 里也可以看到log信息如下
(, 下载次数: 892)
上传
点击文件名下载附件
这个原因是我们申请的是免费账号,收件人需要提前认证,我们不能随意发送给任何人,需要先把收件人的mail地址设定在mailgun中
具体方法是在accout 中增加
(, 下载次数: 905)
上传
点击文件名下载附件
(, 下载次数: 895)
上传
点击文件名下载附件
如上图所示的方法,我增加了两个邮件地址,最多可以增加5个,每当设定一个邮件地址,mailgun 都会发送一个mail到该地址请求确认,只有确认后,才是设定成功。
上面的方法都处理完后,直接Django里的代码,这次终于发送成了
(, 下载次数: 928)
上传
点击文件名下载附件
其它说明:Mailgun 注册对IP 进行屏蔽,我是扶墙后才注册成功的
作者:
lyuanc
时间:
2022-4-16 01:16
感谢楼主分享感谢楼主分享,学习一下
欢迎光临 51uwb.cn (http://51uwb.cn/)
Powered by Discuz! X3.3