"Mailgun Magnificent API" Digital Ocean docker 中的 Django-Anymail 错误

"Mailgun Magnificent API" error with Django-Anymail in docker on Digital Ocean

我 运行正在 运行正在 docker 上安装 Django 应用程序 我正在使用 django-anymail 通过 mailgun 发送电子邮件。

当我经历一个忘记密码的过程时,我在 django-anymail 中收到一个错误:

AnymailRequestsAPIError: Invalid JSON in Mailgun API response Sending a message to testemail@test.com from info@application.co.uk Mailgun API response 200 (OK): 'Mailgun Magnificent API' @ anymail/backends/base_requests.py in deserialize_json_response at line 106

如果我 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 应用程序 运行ning on a droplet(no docker),它与使用相同设置的 mailgun 一起工作正常。

错误 "Mailgun Magnificent API" 很可能是由 MAILGUN_SENDER_DOMAIN 中的 # 字符引起的。当您尝试在不支持它们的配置文件格式中使用行尾注释时,通常会发生这种情况——比如 dotenv:

# .env
MAILGUN_SENDER_DOMAIN=mail.example.com  # INVALID: dotenv doesn't allow comment here

如果您升级到 django-anymail v6.0,您会收到经过改进的错误消息,使这一点更加明显。

( covers other situations that can lead to ".")