【发布时间】:2019-04-05 10:12:11
【问题描述】:
我正在运行一个在 docker 上运行的 django 应用程序 我正在使用 django-anymail 通过 mailgun 发送电子邮件。
当我经历忘记密码的过程时,我在 django-anymail 中遇到错误:
AnymailRequestsAPIError:Mailgun API 响应中的 JSON 无效 从 info@application.co.uk 向 testemail@test.com 发送消息 Mailgun API 响应 200(OK):'Mailgun Magnificent API' @anymail/backends/base_requests.py 在第 106 行的 deserialize_json_response 中
如果我 docker exec -it 到 django 容器上并在 python manage.py shell 中运行以下命令,我可以重新创建此错误
from django.core.mail import send_mail
customer_email = send_mail('Test','Test','info@*application*.co.uk',["*test@test.com*"],fail_silently=False)
如果我在本地构建和运行我的production.yml docker 之后运行它,它可以工作并且我收到一封电子邮件,但是如果我在我的数字海洋水滴上的容器上运行它,我会收到一个错误。
为了使它正常工作,我是否缺少配置?我有另一个 django 应用程序只是在一个 droplet(没有 docker)上运行,它可以在使用相同设置的 mailgun 上正常工作。
【问题讨论】:
-
你的anymail设置是什么?
-
如果其他人遇到此问题,请务必检查您的 MAILGUN_API_URL 是否有
https://api.mailgun.net/v3用于 Mailgun 的美国服务或https://api.eu.mailgun.net/v3用于 Mailgun 的欧洲服务
标签: django docker digital-ocean mailgun django-anymail