在Plone中有没有简单的方法获取新用户加入门户时的邮件通知?

2 投票
4 回答
1151 浏览
提问于 2025-04-16 12:14

我想要在每当有新用户加入门户网站时,收到一封发到门户邮箱的通知邮件。

我猜我需要编写一个新的程序来实现这个功能。

请问有没有现成的产品可以做到这一点(针对Plone 4)?

我查看了内容规则,但据我所知,这个方法只能在我把用户设置成某种内容类型,比如用membrane/remember的情况下才行,但对我来说,这样做太复杂了。

4 个回答

1

你可以让login_next指向一个你自己写的Python脚本,这个脚本可以发送邮件(比如叫notifyMangersUponLogin),而不是默认的指向login_success。你会在Plone的核心产品的/plone_login区域找到其他类似的脚本,它们的后缀是'.cpy'。

然后,你可以让你的CPT脚本继续指向login_success,这样就能继续Plone自带的脚本/页面的流程,如果你想这样做的话。

要使用控制器页面模板(.cpt文件)和脚本(.cpy文件),关键是不仅要把自定义的login_next.cpy复制到你自定义产品的皮肤路径下,还要复制login.cpy.metadata文件,这个文件指定了成功/失败的操作,控制着页面/脚本的逻辑流程。

在Plone 4.0.2版本中,你可以在以下路径找到与登录相关的脚本/模板:/buildout-cache/eggs/plone-4.0.2-py2.6.egg/Products/CMFPlone/skins/plone_login,这个路径是相对于你的buildout结构的。

1

你可以很简单地修改registered.pt这个模板,只需要加一段简单的Python脚本,就能通过MailHost接口发送邮件。

而要对plone.app.users.browser.register.py进行正确的定制就要复杂得多。

5

我觉得这样的产品应该还不存在。

其实,制作一个可以添加内容规则条件的包应该很简单,这样你就可以为Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent事件编写内容规则了。

Plone的知识库里有文档介绍了如何创建这样的包

撰写回答