NAME¶
Jifty::Notification - Send emails from Jifty
USAGE¶
It is recommended that you subclass Jifty::Notification and override
"body", "html_body", "subject",
"recipients", and "from" for each message. (You may want a
base class to provide "from", "preface" and
"footer" for example.) This lets you keep all of your notifications
in the same place.
However, if you really want to make a notification type in code without
subclassing, you can create a "Jifty::Notification" and call the
"set_body", "set_subject", and so on methods on it.
METHODS¶
new [KEY1 => VAL1, ...]¶
Creates a new Jifty::Notification. Any keyword args given are used to call set
accessors of the same name.
Then it calls "setup".
setup¶
Your subclass should override this to set the various field values.
send_one_message¶
Delivers the notification, using the Email::Send mailer defined in the
"Mailer" and "MailerArgs" configuration arguments. Returns
true if mail was actually sent. Note errors are not the only cause of mail not
being sent -- for example, the recipients list could be empty.
If you wish to send HTML mail, set "html_body". If this is not set
(for backwards compatibility) a plain-text email is sent. If
"html_body" and "body" are both set, a multipart mail is
sent. See Email::MIME::CreateHTML for how this is done.
Be aware that if you haven't set "recipients", this will fail silently
and return without doing anything useful.
Takes a Email::MIME object "MESSAGE", and modifies it as necessary
before sending it out. As the method name implies, this is usually used to add
or modify headers. By default, does nothing; this method is meant to be
overridden.
body [BODY]¶
Gets or sets the body of the notification, as a string.
subject [SUBJECT]¶
Gets or sets the subject of the notification, as a string.
from [FROM]¶
Gets or sets the from address of the notification, as a string.
recipients [RECIPIENT, ...]¶
Gets or sets the addresses of the recipients of the notification, as a list of
strings (not a reference).
email_from OBJECT¶
Returns the email address from the given object. This defaults to calling an
'email' method on the object. This method will be called by "send"
to get email addresses (for "to") out of the list of
"recipients".
to_list [OBJECT, OBJECT...]¶
Gets or sets the list of objects that the message will be sent to. Each one is
sent a separate copy of the email. If passed no parameters, returns the
objects that have been set. This also suppresses duplicates.
send¶
Sends an individual email to every user in "to_list"; it does this by
setting "to" and "recipient" to the first user in
"to_list" calling Jifty::Notification's "send" method, and
progressing down the list.
Additionally, if "to" was set elsewhere, sends an email to that
person, as well.
Of the list of users that "to" provided, returns the one which mail is
currently being sent to. This is set by the "send" method, such that
it is available to all of the methods that Jifty::Notification's
"send" method calls.
preface¶
Print a header for the message. You want to override this to print a message.
Returns the message as a scalar.
Print a footer for the message. You want to override this to print a message.
Returns the message as a scalar.
full_body¶
The main, plain-text part of the message. This is the preface, body, and footer
joined by newlines.
full_html¶
Same as full_body, but with HTML.
parts¶
The parts of the message. You want to override this if you want to send
multi-part mail. By default, this method returns a single part consisting of
the result of calling "$self->full_body".
Returns the parts as an array reference.
magic_letme_token_for PATH¶
Returns a Jifty::LetMe token which allows the current user to access a path on
the site.