The module will register two interception points. PreMailSend
and PostMailSend
. These interception points are useful to alter the mail object before it gets sent out, and/or perform any functions after the mail gets sent out. An example interceptor would be:
component extends="coldbox.system.Interceptor"{
void function configure(){
}
function preMailSend( event, data, buffer, rc, prc ){
var environment = getSetting('environment');
var appName = getSetting('appName');
if(environment eq 'development'){
//change recipient if we are on development
data.mail.setTo('[email protected]');
//prefix the subject if we are on development
data.mail.setSubject('<DEV-#appName#> #data.mail.getSubject()#');
}
}
function postMailSend( event, data, buffer, rc, prc ){
if( data.result.error ){
//log mail failure here...
}
}
}
Announced before the mail payload is sent to the chosen mailer protocol for sending. This is your last change to influence the payload.
Key | Type | Description |
---|---|---|
mail |
The mail payload object |
Announced after the mail payload has been sent via the mailer protocol of choice.
Key | Type | Description |
---|---|---|
mail |
The mail payload object | |
result |
struct | The result structure from the mailer protocol. At most it will contain an error boolean key and a messages array. |