Child pages
  • [emails] Email event usage refactoring [5.2.0-B3]
Skip to end of metadata
Go to start of metadata

Imported From:

Currently e-mail event sending process (internally) doesn't represent real world model, which makes it hard to improve this code with new features.

I'm proposing to:

  1. create kEmail class with following public methods:
    1. findEvent($name, $type)
    2. setParams($params)
    3. send()
  2. make $this->sender refer to kEmailSendingHelper class instance for easy access across all methods
  3. move existing code from EmailEventsEventHandler into new kEmail class
  4. replace OnEmailEvent event sending with new kEmail class usage

At the end interface of kApplication::EmailEventUser and kApplication::EmailEventAdmin will be almost the same (will return true/false instead of kEvent object), so no need to change code to make it working again.

Usually nobody relies on e-mail sent fact in their code anyway.

Related Tasks

INP-999 - Getting issue details... STATUS

INP-1073 - Getting issue details... STATUS


  1. I am excited and looking forward to testing this work Alex!


  2. Hi Alex,

    Ran a test case of email after Email functionality was Refactored -  the
    test case was when system sends out PLAIN text email to Admin during User

    In result I got:

    A new user "test" has been added.
    Website administration

    Which means it worked just fine and In-Portal tag was correctly processed
    in this Email Template:

    A new user "<inp2:u.register_Field name='Username'/>" has been added.


  3. Trick was to have only HTML part of e-mail event to be entered. Then during
    html-to-plain-text conversion all <inp2:.../> tags will be stripped from it.

  4. Hi Alex,

    Yes, you are right - I confirm the error - replicated on my host.

    New task created:

    *1307: In-Portal Tags Stripped during HTML-to-Plain text Conversion - *

    INP-1073 - Getting issue details... STATUS