在django中为每个用户启用多个电子邮件地址

django-multimail的Python项目详细描述


django multimail需要django 1.4+
===========================br/>

django multimail演示站点位于:http://www.django-multimail.com

multimail是一个简单的django应用程序,它为django的现有用户模型提供多个电子邮件地址
功能。功能包括:

*从用户对象上的电子邮件自动创建多邮件电子邮件

*通过发送到新电子邮件地址的链接进行电子邮件验证

*在用户被管理性地停用时自动删除未验证的电子邮件地址。

请报告这些django版本中的任何已知问题。


changelog
==


>0.1.3
----


breaks django 1.3兼容性。django multimail现在兼容
django 1.4+。


测试
=



运行测试套件:

$demo/manage.py测试


quickstart
==


(请参见
有关配置站点的替代方案的详细设置)


*pip install django multimail
*向已安装的应用程序添加multimail
*在模板中包括"django.template.loaders.eggs.loader"
*在基本URL中包括"django.template.loaders.eggs.loader"。py:
(r"^mail/",包括"multimail.url"),
*syncdb


===========

*配置项目以发送电子邮件。这通常涉及在设置文件中设置
以下属性:电子邮件主机、电子邮件主机用户、
电子邮件主机密码、电子邮件使用TLS、电子邮件后端。(见django文档:
https://docs.djangoproject.com/en/1.7/topics/email/)。此外,您需要将multimail_from_email_address或admin_email设置为
multimail用作from mail地址。如果尚未设置来自电子邮件地址的多邮件,则使用管理电子邮件。

*请确保设置为使用django的站点框架(请参阅django
docs:https://docs.djangoproject.com/en/1.7/ref/contrib/sites/)。

multimail使用当前域生成验证链接url。
或者,可以设置multimail_email_verification_url settings
属性。请参阅下面的设置部分。另一个选项是同时设置多邮件站点域和多邮件站点名称。当设置了这两个
时,它们将覆盖配置的站点设置(仅用于多邮件
目的)。

*使用消息框架现在是可选的。要使用消息,请将
multimal_use_messages设置为true。确保在
模板中公开消息。请参阅消息框架上的django文档:
https://docs.djangoproject.com/en/1.7/ref/contrib/messages/

*确保在设置文件中的
模板加载程序中包含"django.template.loaders.eggs.loader"。你应该把这个放在加载你自己创建的模板的加载程序之后,这样你就可以创建替代模板来替换内置的多邮件模板了。

*安装:pip install django multimail

或者,从源代码安装:


或者,下载代码并运行python setup.py install

*将多邮件添加到设置文件中已安装的应用程序中

*在基本url配置中,添加一行如下内容:
(r'^mail/',include('multimail.url'),

路径名"mail"是任意的,可以设置为任意值。

*运行syncdb

现在可以开始为用户创建新的emailaddress对象。创建新的emailaddress对象时,将自动发送
验证电子邮件。

ib.auth.models import user
>;>;u=user.object s.all()[0]
>;>;u.save()将自动为用户的当前电子邮件地址创建电子邮件地址对象

emailaddress
>;>;addr=emailaddress.objects.create(email==user@example.com,user=u)


settings
==


>可以设置以下属性以自定义多邮件安装。
请注意,如果默认属性用_()括起来,则表示translation
通过Django的UgetText。多邮件当前没有任何内置的默认邮件翻译。有关创建翻译消息的信息,请参见django文档:https://docs.djangoproject.com/en/1.7/topics/i18n/translation/如何创建语言文件

是否允许用户验证与已停用帐户关联的电子邮件。


multimail_delete_primary
默认值:false。是否在删除最后一个电子邮件地址时清除用户对象上的电子邮件字段



multimail_verification_link_sent_message
默认值:"(验证链接已发送到%(电子邮件)s")


multimail_from_email_address
默认值:无,但返回到AD最小电子邮件如果不可用

multimail_email_already_verified_message
default:(此电子邮件地址已验证。)

multimail_email_verified_message**(请参阅下面的注释)
default:(感谢您验证您的电子邮件地址。)

multimail_email验证URL**(请参见下面的注释)
默认值:"http://%(当前站点域)s/mail/verify/%(电子邮件地址id)s/%(验证密钥)s"

注意:如果更改此URL和/或用于调用验证视图的URL配置,则需要确保传递
电子邮件地址ID和视图调用中的验证密钥。


当前站点域通常从站点
配置中获取,但可以通过设置
multimail_site_domain和multimail_site_name来覆盖Il_Inactive_Account_消息
默认值:u("与此电子邮件地址关联的帐户已标记为Inactive。请与网站管理员联系。")

default:(选定的电子邮件验证链接无效。请重新注册您的电子邮件地址。")


multimail_post_verify_url
默认值:'/'

multimail_use_messages
默认值:false。设置为true可使用django的
消息框架启用消息。

默认值:u('verification required')

默认值:"multimail/verification_email.html"

multimail_verification_email_text_template
默认值:"multimail/verification_email.txt"

**注意:标记为**的属性接收字符串模板化的上下文字典。默认值没有利用这一点,而是倾向于使用
静态字符串来利用转换功能。
以下键传递给这些字符串:
当前站点域
当前站点ID
当前站点名称
电子邮件地址ID
电子邮件(当前多邮件电子邮件对象上的电子邮件)
第一个名称
最后一个名称
主电子邮件l(用户对象上的电子邮件)
用户id
用户名
验证密钥
验证链接

请注意,出于安全原因,多邮件电子邮件验证URL不获取验证链接密钥


dmin_电子邮件

默认值:真。影响在用户保存后创建电子邮件地址
时通知的行为。multimail确保用户对象上存在
电子邮件的多邮件版本(该版本被认为是用户的主要电子邮件地址)。如果用户在创建新的emailaddress对象时保存结果
,则默认行为是
发送该新地址的验证链接。将此设置为false可关闭该行为。


multimail_user_deactivation_handler_on
默认值:false。旧的默认设置是在用户保存时清除任何延迟的、未经验证的
电子邮件地址。如果您的用户对象
在用户有机会
验证其电子邮件地址之前被修改和保存,则这可能是一个麻烦。如果您确定在发送验证链接
和用户单击该链接之间不需要
来保存用户,则可以安全地将此设置为
真,以便自动清除延迟未验证的电子邮件。否则,最好手动删除未经验证的电子邮件。


对于发生的某些错误,multimail可能会向站点管理员发送通知电子邮件。将此设置为false可禁用这些电子邮件。

multimail_site_domain
默认值:无。设置为覆盖用于多邮件模板和模板字符串的站点域。要求将this和multimail_site_name
设置为非none值。

默认值:none。设置为覆盖用于多邮件模板和模板字符串的站点名称。要求将此域和
multimail_site_domain设置为非none值。

默认值:"profile"。调用
内置集作为主视图后,要重定向到的反向名称。默认为"配置文件"。当前不处理参数传递——如果您的用户配置文件需要参数
(例如用户名或用户pk),那么您需要实现自己的
视图来处理作为主请求的集合。有关详细信息,请参见源代码中的
multimail.views.set_as_primary。


multimail_allow_remove_last_verified_email
默认值:false。是否允许用户删除所有已验证的
电子邮件。


多邮件删除最后验证的电子邮件尝试
默认:"无法删除最后验证的电子邮件。添加另一个已验证的电子邮件
地址以删除现有电子邮件。"当用户尝试删除最后一个已验证的电子邮件时发送的邮件。"仅当
multimail_allow_remove_last_verified_电子邮件为false时。

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

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同