models.protocols

Class PostmarkProtocol

lucee.Component
    extended by cbmailservices.models.AbstractProtocol
      extended by models.protocols.PostmarkProtocol

Copyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp www.ortussolutions.com ---- This protocol sends the mails via the Postmark API. The required properties are: - apike : The postmark api key

Class Attributes:
  • singleton
  •  
  • synchronized : false
  •  
  • accessors : true
  •  
  • persistent : false
  •  
  • author : Luis Majano
  •  
    Constructor Summary
    init([struct properties='[runtime expression]'])
          Initialize the InMemory protocol.
    Method Summary
    private struct encodeAttachment(struct mailParam)
         Encode an attachment like PostMark likes it.
    private any getFileMimeType(any filePath)
         Get the file mime type from the filepath.
    struct send(cbmailservices.models.Mail<cbmailservices.models.Mail> payload)
         Send it to postmark.
    private any sendToPostmark(any jsonPayload)
         Send a json payload to postmark.
     
    Methods inherited from class cbmailservices.models.AbstractProtocol
    getLog, getName, getProperties, getProperty, propertyExists, setLog, setName, setProperties, setProperty
     
    Methods inherited from class lucee.Component
    None

    Constructor Detail

    init

    public init([struct properties='[runtime expression]'])

    Initialize the InMemory protocol

    Parameters:
    properties - A map of configuration properties for the protocol

    Method Detail

    encodeAttachment

    private struct encodeAttachment(struct mailParam)

    Encode an attachment like PostMark likes it

    Parameters:
    mailParam - The structure representing the mail parameters

    getFileMimeType

    private any getFileMimeType(any filePath)

    Get the file mime type from the filepath

    Parameters:
    filePath - The target file path

    send

    public struct send(cbmailservices.models.Mail<cbmailservices.models.Mail> payload)

    Send it to postmark The return is a struct with two keys - `error` - A boolean flag if the message was sent or not - `messages` - An array of error messages the protocol stored if any

    Overrides:
    send in class cbmailservices.models.AbstractProtocol
    Parameters:
    payload - The paylod object to send the message with
    Returns:
    struct of { "error" : boolean, "messages" : [], "messageID" : "" }

    sendToPostmark

    private any sendToPostmark(any jsonPayload)

    Send a json payload to postmark

    Parameters:
    jsonPayload - The json payload to send