问题标签 [django-anymail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
532 浏览

django - 使用 django-anymail 配置 django-celery-email

我正在使用 django-anymail(sendgrid) 在我的网络应用程序中发送电子邮件。我想让电子邮件以异步方式发送,而无需让用户等待一段时间。那么,如何使用 django-anymail 配置 django-celery-email。

现在,我的电子邮件配置。是:

0 投票
1 回答
508 浏览

django - 带有 Django 的 Amazon SES 不在 UTC 时区

我正在开发一个用于美国的 django 项目,特别是纽约时区,系统托管在 AWS 上,SES 发送电子邮件。电子邮件后端使用django-anymail,它是 SES 的简单包装器,系统使用send_maildjango 核心。

为了支持这一点,我选择了以下 Django 设置;

使用上述设置 djangotzset()在启动时调用它会修改系统时区。这意味着用于签署 SES 请求的时间戳botocore不是 UTC,因为从消息发送中收到以下错误;

调用 SendRawEmail 操作时发生错误(ExpiredToken):请求中包含的安全令牌已过期

将设置更改为 即可成功发送电子邮件TIME_ZONE = 'UTC'

我只能假设请求是在 UTC -4 中签名的,然后到达 UTC 中的 AWS。

django 如何在特定时区运行,但 boto 使用 UTC 时间戳运行?

系统在 docker 容器中运行(预生产);

  • docker compose 3.4(unix主机)
  • 蟒蛇2.7
  • django 1.11
  • django-anymail 3.0
  • LocaleMiddleware已加载
0 投票
1 回答
1354 浏览

django - Digital Ocean 上 Docker 中的 Django-Anymail 出现“Mailgun Magnificent API”错误

我正在运行一个在 docker 上运行的 django 应用程序,并且我正在使用 django-anymail 通过 mailgun 发送电子邮件。

例如,当我经历忘记密码的过程时,我在 django-anymail 中收到错误消息:

AnymailRequestsAPIError:Mailgun API 响应中的 JSON 无效从 info@application.co.uktestemail@test.com 发送消息Mailgun API 响应 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

如果我在本地构建和运行我的production.ymldocker 之后运行它,它可以工作并且我收到一封电子邮件,但是如果我在我的数字海洋水滴上的容器上运行它,我会收到一个错误。

为了使其正常工作,我是否缺少配置?我有另一个 django 应用程序只是在一个 droplet(没有 docker)上运行,它可以在使用相同设置的 mailgun 上正常工作。

0 投票
2 回答
3644 浏览

django - 在 Django Celery 中使用来自 .env 的环境变量

我正在使用Django 2.xCelery 4.3.x

在我的Django应用程序中,我使用dotenv.env文件中提供环境变量并加载环境变量,我在manage.pywsgy.py文件中有以下脚本

环境变量具有插件使用的 AWS 凭证,以使用SESanymail发送邮件。

现在,我正在使用 Celery 任务发送电子邮件并使用命令行运行 celery worker

工作人员正在运行,但是在发送电子邮件时,它在 celery 任务中出现错误,因为

似乎试图与我的笔记本电脑的用户连接,而不是使用.env文件中定义的凭据。

如何使用该.env文件将环境文件提供给 Celery 工作人员?

0 投票
1 回答
211 浏览

django - 带有邮戳的 django rest-auth 电子邮件确认

我已经看到了很多关于如何覆盖电子邮件模板的内容,但它们似乎主要涉及创建 HTML 模板和覆盖文件位置。

我正在使用邮戳的模板,其中涉及发送带有电子邮件变量的发布请求。我正在使用 anymail 来处理这个问题,如下所示,其中有一个向我的客户服务地址发送电子邮件的表单:

我的目标是也将邮戳模板用于帐户确认和密码重置电子邮件,但我很难弄清楚如何覆盖发送方法。

0 投票
1 回答
115 浏览

django - Cookiecutter - Django:Anymail [SES] boto3 区域错误

我正在尝试将 Cookiecutter Django 项目部署到 AWS(EC2)。拥有此凭证的 AWS 用户拥有完整的 S3、SES 和 SNS 策略。EC2 服务器还具有具有完整 SES/S3 策略的角色。

在 envs 的生产文件中,我有这样设置的密钥。

在我的设置中

一切都很好,直到项目尝试使用 SES 发送电子邮件并崩溃并出现以下错误。

到目前为止,我已经尝试过:

  • 将 DJANGO_AWS_S3_REGION_NAME 添加到环境中的生产文件中 - 没有结果
  • 使用 aws cli 在 aws config 中添加区域 - 无结果
  • 使用凭据和区域覆盖 ANYMAIL ={} 中的设置 - 没有结果
  • 制作一个空白项目,只需添加 aws 凭据而不更改其他任何内容 - 没有结果
  • 在另一个项目上手动创建具有相同凭据的 boto3.session.client 并发送邮件 - 它可以工作

这是错误。'NoneType' 对象的第二部分没有属性 'send_raw_email' 在此之后重复了很多。

我会很感激任何意见。我没主意了。谢谢!

0 投票
1 回答
145 浏览

python - Django 上的 AnyMail 和 MailGun 配置

我在 Django 项目上设置 AnyMail + MailGun,但我收到未经授权的响应调用mail_admins

anymail.exceptions.AnymailRequestsAPIError: Sending a message to mail@gmail.com from mailgun@sandboxe6301378bfe741bf99d5684e65852283.mailgun.org Mailgun API response 401 (Unauthorized): 'Forbidden'

这些是我的settings.py配置:

我可以使用 CURL 发送带有这些配置的电子邮件。我一定在 Django 设置上遗漏了一些东西。

0 投票
0 回答
43 浏览

django - 使用托管在弹性 beantalk 上的 django 站点设置 aws ses

我正在尝试使用 amazon ses 为使用弹性 beanstalk 部署的 django 站点发送用户验证电子邮件。

我有 allauth 管理用户注册,并使用 anymail 来管理电子邮件。

我已在 namecheap(托管域)成功完成 DKIM 设置

我收到了一个与权限相关的错误,任何建议表示赞赏: