当新用户加入门户网站时,Plone是否有一种简单的方法来获取电子邮件通知?

时间:2011-02-21 19:03:08

标签: python notifications plone

每当新用户加入门户网站时,我都希望收到门户电子邮件地址的电子邮件通知。

我的猜测是,我应该为新产品编写代码。

这种产品是否已经存在(对于Plone 4)?

我检查了内容规则,但AFAICT只有当我让用户满足于像膜/记忆这样的东西时才有用,但是对于我的要求来说是过度的。

4 个答案:

答案 0 :(得分:5)

我不认为这样的产品已经存在。

创建一个添加内容规则条件的包应该是微不足道的,这可以让您为Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent事件编写内容规则。

Plone知识库文档how to create such a package

答案 1 :(得分:1)

您可以轻松自定义registered.pt模板,添加对通过MailHost api发送电子邮件的PythonScript的简单调用。

正确定制plone.app.users.browser.register.py要复杂得多。

答案 2 :(得分:1)

你也可以让login_next遍历到一个控制器Python脚本(你会在你写的发送电子邮件的核心Plone产品的/ plone_login区域中以扩展名'.cpy'结尾的其他类似的那些) (也许是notifyMangersUponLogin)而不是它默认遍历login_success。

然后,让您的CPT脚本遍历login_success以继续Plone附带的sript / page MVC流程,如果这就是您想要的。

要利用控制器页面模板(.cpt文件)/脚本(.cpy文件),不仅要将自定义版本的login_next.cpy复制到自定义产品的外观路径,还要将login.cpy.metadata文件复制到指定MVC页面/脚本逻辑流程的成功/失败操作。

使用Plone 4.0.2,您将在以下路径下找到Plone登录相关的脚本/模板: /buildout-cache/eggs/plone-4.0.2-py2.6.egg/Products/CMFPlone/skins/plone_login 相对于你的扩建结构。

答案 3 :(得分:0)

如果您想以正确的方式进行,请按照上面的Martijn说明进行操作。如果您需要其他脏解决方案,请执行以下操作:

  1. 制作register.cpy
  2. 的副本
  3. 插入以下代码:

    context.MailHost.send('Content-Type:text / plain \ n \ n'+'用户已注册:'+ str(用户名),
                mfrom='me@gmail.com”,
                mto='you@gmail.com”,             subject ='用户注册',         )