基于amazon ses的默认django电子邮件后端的替换

django-ses-email-backend的Python项目详细描述


Build Statuscodecov

Django Ses公司

另一个django电子邮件后端在amazon简单电子邮件服务(ses)之上。支持Django 1.91.101.112.02.1。 是的。使用最新的boto3进行api调用,使用moto

进行测试

这个包裹是关于什么的

每个web应用程序都需要在某个时刻发送电子邮件,可能是验证、密码重置、更新等,django默认支持smtp协议,只需指定smtp凭据即可。 但当您使用诸如SES之类的Amazon服务时,首选的方法是通过其API访问它

所以这里是男人。只需安装它,给ses证书,然后开始发送电子邮件。 如果您的应用程序是在AWS中托管的,则更多内容请参见每月大约60000封电子邮件是免费的

目录

安装

此软件包可通过pip获得,因此请使用pip安装它

pip install django-ses

并将其添加到settings.py的installed_apps部分

INSTALLED_APPS = [
    'django_ses',
     ...
]

SES凭证设置

显然,您需要访问aws ses帐户,按照this guide生成凭据,或者如果您已经有访问密钥,请使用它。

在settings.py中按如下方式添加它

SES_ACCESS_KEY = 'xxx'
SES_SECRET_KEY = 'xxx'
SES_REGION_NAME = 'us-east-1'  

SES_REGION_NAMEus-east-1的可选默认值

您需要verify domainverify email才能在外部发送电子邮件

使用量

一旦安装完成,您可以像往常一样发送电子邮件,您现有的电子邮件呼叫应该在没有任何修改的情况下工作。

示例1-使用send_mail()

send_mail(subject="Test Subject", message="Message", from_email="from@example.com", recipient_list=['to@example.com'])

示例2-使用EmailMessage

email = EmailMessage(
    'Subject 1',
    'Body1 goes here',
    'from@example.com',
    ['to1@example.com', 'to2@example.com'],
    reply_to=['another@example.com'],
)

email.send()

https://docs.djangoproject.com/en/2.1/topics/email了解更多详细信息

待办事项

  • 发送前、发送后信号

贡献

  • 将问题提交给Github Issues
  • develop分支提交修补程序
  • 请编写测试来证明任何添加

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么线程被称为轻量级进程?   java在Spring中将MethodInvokingFactoryBean的Singleton属性设置为False   随机我如何在数组中的多个值之间随机选择,每个值都有自己的概率?在爪哇   java有没有办法使用liquibase截断所有表?   JavaSpring没有捕获rest请求的所有对象   ArrayList是java库类吗?如果不是,用于存储数组的java库类是什么?   多线程为什么写(…)方法java。伊奥。作家同步?   java从两个列表中删除不重复的对象   java HttpClient后文本/纯文本   java小程序类加载器在小程序的jar中找不到类   Java TCPsocket编程中的回溯N协议实现   java通过类<T>接口为不同的Web服务进行改造   Java线程“AWTEventQueue0”Java中的eclipse异常。lang.NullPointerException   java如何使用带有注释字段的alias Bean类在hibernate中进行查询?   在onCreate中声明的java随机整数   正在执行的BroadcastReceiver的onReceive代码中的java延迟   java缓冲类和发送/接收数据   java FileInputStream加载文件的第二个最后版本