问题标签 [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.
django - 使用 django-anymail 配置 django-celery-email
我正在使用 django-anymail(sendgrid) 在我的网络应用程序中发送电子邮件。我想让电子邮件以异步方式发送,而无需让用户等待一段时间。那么,如何使用 django-anymail 配置 django-celery-email。
现在,我的电子邮件配置。是:
django - 带有 Django 的 Amazon SES 不在 UTC 时区
我正在开发一个用于美国的 django 项目,特别是纽约时区,系统托管在 AWS 上,SES 发送电子邮件。电子邮件后端使用django-anymail,它是 SES 的简单包装器,系统使用send_mail
django 核心。
为了支持这一点,我选择了以下 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
已加载
django - Digital Ocean 上 Docker 中的 Django-Anymail 出现“Mailgun Magnificent API”错误
我正在运行一个在 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 in deserialize_json_response at line 106
如果我docker exec -it
进入 django 容器并在python manage.py shell
如果我在本地构建和运行我的production.yml
docker 之后运行它,它可以工作并且我收到一封电子邮件,但是如果我在我的数字海洋水滴上的容器上运行它,我会收到一个错误。
为了使其正常工作,我是否缺少配置?我有另一个 django 应用程序只是在一个 droplet(没有 docker)上运行,它可以在使用相同设置的 mailgun 上正常工作。
django - 在 Django Celery 中使用来自 .env 的环境变量
我正在使用Django 2.x和Celery 4.3.x
在我的Django应用程序中,我使用dotenv从.env
文件中提供环境变量并加载环境变量,我在manage.py
和wsgy.py
文件中有以下脚本
环境变量具有插件使用的 AWS 凭证,以使用SESanymail
发送邮件。
现在,我正在使用 Celery 任务发送电子邮件并使用命令行运行 celery worker
工作人员正在运行,但是在发送电子邮件时,它在 celery 任务中出现错误,因为
似乎试图与我的笔记本电脑的用户连接,而不是使用.env
文件中定义的凭据。
如何使用该.env
文件将环境文件提供给 Celery 工作人员?
django - 带有邮戳的 django rest-auth 电子邮件确认
我已经看到了很多关于如何覆盖电子邮件模板的内容,但它们似乎主要涉及创建 HTML 模板和覆盖文件位置。
我正在使用邮戳的模板,其中涉及发送带有电子邮件变量的发布请求。我正在使用 anymail 来处理这个问题,如下所示,其中有一个向我的客户服务地址发送电子邮件的表单:
我的目标是也将邮戳模板用于帐户确认和密码重置电子邮件,但我很难弄清楚如何覆盖发送方法。
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' 在此之后重复了很多。
我会很感激任何意见。我没主意了。谢谢!
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 设置上遗漏了一些东西。
django - 使用托管在弹性 beantalk 上的 django 站点设置 aws ses
我正在尝试使用 amazon ses 为使用弹性 beanstalk 部署的 django 站点发送用户验证电子邮件。
我有 allauth 管理用户注册,并使用 anymail 来管理电子邮件。
我已在 namecheap(托管域)成功完成 DKIM 设置
我收到了一个与权限相关的错误,任何建议表示赞赏: