Есть ли в Plone простой способ получать уведомления по электронной почте, когда новые пользователи присоединяются к порталу? - PullRequest
2 голосов
/ 21 февраля 2011

Я хочу получать уведомления по электронной почте на адрес электронной почты портала, когда новый пользователь присоединяется к порталу.

Я предполагаю, что для этого мне нужно написать новый продукт.

Такой продукт уже существует (для Plone 4)?

Я проверил правила контента, но AFAICT это могло сработать, только если я заставил пользователей довольствоваться чем-то вроде мембраны / запоминания, но для моих требований это было бы излишним.

Ответы [ 4 ]

5 голосов
/ 21 февраля 2011

Я не думаю, что такой продукт уже существует.

Это должно быть тривиально создать пакет, который добавляет условие правила контента, которое позволит вам написать правило контента для Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent событие.

База знаний Plone о том, как создать такой пакет .

1 голос
/ 28 февраля 2011

Вы также можете просто выполнить вход login_next в скрипт Python для контроллера (вы найдете другие аналогичные в области / plone_login основного продукта Plone, заканчивающегося расширением «.cpy»), который вы пишете для отправки электронного письма. (возможно notifyMangersUponLogin), а не переход по умолчанию к login_success.

Затем ваш скрипт CPT перейдет к login_success, чтобы продолжить поток MVC сценария / страницы, с которым поставляется Plone, если вы этого хотите.

Чтобы использовать шаблоны страниц контроллера (файлы .cpt) / Scripts (файлы .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 относительно вашей структуры застройки.

1 голос
/ 21 февраля 2011

Вы можете легко настроить шаблон register.pt, добавив простой вызов PythonScript, отправляющий электронное письмо через API MailHost.

Выполнить правильную настройку plone.app.users.browser.register.py гораздо сложнее.

0 голосов
/ 16 марта 2011

Если вы хотите сделать это правильно, следуйте указаниям Martijn выше.Если вы хотите другое грязное решение, сделайте следующее:

  1. сделайте копию register.cpy
  2. вставьте следующий код:

    context.MailHost.send ('Content-Type: text / plain \ n \ n' + 'Пользователь зарегистрирован:' + str (имя пользователя),
    mfrom='me@gmail.com ',
    mto =' you @gmail.com ', subject =' Регистрация пользователя ',)

...