EmailProvider

The EmailProvider sends notifications using cbMailServicesarrow-up-right.

Requirements

To use the EmailProvider, you need cbMailServicesarrow-up-right installed. This is not installed by Megaphone. If you do not have cbMailServicesarrow-up-right installed, an exception will be thrown if you try to define a channel with the EmailProvider.

Configuration

The EmailProvider accepts the following properties:

{
    "mailer": "default", // optional, uses the cbMailServices default otherwise
    "onSuccess": () => {}, // optional, logs to info otherwise
    "onFailure": () => {} // optional, logs to error otherwise
}

toEmail

The toEmail method returns a Mail@cbmailservices instance to send. The to property can be either defined in the toEmail method or a routeNotificationForEmail method defined on the Notifiable instance.

public struct function toEmail( notifiable, newMail ) {
    return newMail(
        to = notifiable.getEmail(),
        from = "[email protected]",
        subject = "Megaphone Email Notification",
        type = "html",
        bodyTokens = { product: "ColdBox" }
    ).setBody( "
        <p>Thank you for downloading @product@, have a great day!</p>
    " );
}

routeNotificationForEmail

You can let the Notifiable instance define how to send the Email Notification by adding a routeNotificationForEmail method.

Last updated