一个可重用的django应用程序,用于排队发送电子邮件

django-mailer的Python项目详细描述


==
首先使用
=


,将"mailer"添加到设置中的"installed_apps"中。py.
运行``./manage.py migrate``以安装模型。

Django Mailer,首先设置
电子邮件后端:


电子邮件后端="mailer.backend.dbbackend"

如果以前使用的是非默认电子邮件后端,则需要配置
邮件后端设置,因此,django mailer知道如何实际发送邮件:


mailer_email_backend="your.actual.emailbackend"

>现在,只需使用普通的"django mail"功能
<;https://docs.djangoproject.com/en/stable/topics/email/>;`。这些
函数将邮件存储在数据库中的队列中,必须按下面的
发送。


您可以使用与django的
``发送邮件``功能具有相同签名的'mailer.send`mail``发送邮件。

设置。已安装的应用程序:
从邮件导入发送邮件
其他:
从django.core.mail导入发送邮件

,然后像在django中一样调用发送邮件:

收件人)

还有一个方便的函数"mailer.send_html_mail``用于创建html
(此函数在django中是**而不是**):

send_html_mail(subject,message_plantext,message_html,settings.default_from_email,recipients)

通过调用:


mail-admins(subject,message-body)




或通过调用:

mail-managers(subject,消息正文)

如果有任何
故障,它们将被标记为延迟,并且不会被
``发送邮件``再次尝试。

*``重试延迟``将把所有延迟邮件移回正常队列
(因此将在下一个"发送邮件``时再次尝试)。

*``清除邮件日志``将删除旧的成功邮件从数据库中记录,以防止它填满数据库



40****(/path/to/your/python/path/to/your/manage.py retry_deferred>;~/cron_mail_deferred.log 2>&;1)
0***(/path/to/your/python/path/to/your/manage.py purge_mail_log 7>;~/cron_mail_purge.log 2>&;1)

例如:

****(cd$pinax;/usr/local/bin/python2.5 manage.py send廑mail>;$pinax/cron廑mail.log 2>;&;1)
0,20,40***(cd$pinax;/usr/local/bin/python2.5 manage.py retry廑deferred>;$pinax/cron廑mail廑deferred.log 2>;&;1)
0**(cd$pinax;/usr/local/bin/python2.5 manage.py purge_mail_log 7>;$pinax/cron_mail_purge.log 2>;&1)

并清除邮件日志中超过7天的条目。

``manage.py send_mail``使用锁定文件以防清除queue需要的时间
比调用"manage.py send_mail"之间的间隔长。

请注意,如果项目位于virtualenv中,则还必须从virtualenv执行此命令。当然,如果使用cron执行它,同样的方法也适用。"pinax文档"在更多的细节中解释了这一点。_ Pinax文档:http://pinaxproject.com/docs/dev/deployment.html;发送邮件和通知


控制传递过程
==================


默认情况下
传递队列中的所有内容,您可以使用以下3个变量
(显示的默认值):

在停止
当前运行的"mailer\u email\u max\u批处理"之前成功,在多少封失败/延迟的电子邮件
应该停止"mailer_email_max_deferred"以及在
每封电子邮件"mailer_email_throttle"之间等待多长时间之后,


未处理的电子邮件将在下面的传递迭代中进行评估。


如果您需要能够控制django mailer将其锁文件放在哪里(使用
以确保邮件不会被发送两次),您可以将"mailer\u lock\u path"设置为要用作锁的文件的完整
绝对路径。将添加扩展名".lock"。运行"send\u mail"的进程需要具有创建和删除此文件以及同一目录中其他文件的权限。默认值为
``none``的django mailer将使用当前工作目录中的路径。


如果需要更改django mailer使用的批大小以将消息保存到
``mailer.backend.dbbackend``,您可以将"邮件"批处理大小设置为更适合您的值。此值默认为"none",将传递给
"django的bulk廑create方法<;https://docs.djangoproject.com/en/stable/ref/models/querysets/廑bulk create>;`
作为"batch_size"参数。
更改日志
===


1.2.6-2019-04-03
----


*官方django 2.1和2.2支持。
*不要在管理命令中关闭数据库连接。
django。


>1.2.5
-


>
*修复打包文件权限问题。
*添加日语语言环境(感谢msk7777)


>1.2.4
-


>

*django 2.0支持。

<1.2.3
-

>



<1.2.2


>1.2.2.2

*修复了与车型``````````





----

*django 1.10支持。
*修复了消息和消息日志的repr。

>1.2.1
----

*更有用的消息和消息日志管理
*处理来自真正旧django版本的异常


1.2.0
----

*显式保存"消息"上的"消息id"头要使用此标识符查找
电子邮件,

这包括数据库架构迁移。



<1.1.0
----

*不推荐使用"优先级"调用"发送邮件"和"发送HTML邮件"。相反,您应该使用
``priority`u high``、``priority`u medium`和``priority`u low``从
``mailer.models``.

*修复了Django 1.7的迁移错误,它希望创建一个迁移
以将电子邮件字段长度"修复"回75,而不是254。




1.0.1
----


*包括迁移-用于South和Django 1.7本机迁移。

注意:

*如果使用South,您至少需要South 1.0
*您需要在现有安装上使用"--fake"或"--fake initial"。


这些迁移本应在1.0.0中,但由于打包错误而被忽略。


1.0.0
----

*限制电子邮件发送
*django 1.8支持
*管理调整和改进
*各种其他修复,特别是来自renato alves<;alves.rjc@gmail.com>;-谢谢!

0.1.0
----

*第一个pypi版本



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

推荐PyPI第三方库


热门话题
java SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件