Allowing Zend_Mail to deliver messages using the Postmark service
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Postmarkapp is a "email delivery in the cloud" service for sending out transactional emails in your applications. By using this service you don't need to worry about the setup and maintenance of a mailserver and as Postmarkapp is built to scale it can easily deal with large bursts of messages. Whilst an easy-to-use API is available this Zend_Mail transport allows you to easily switch out and use Postmark for mail delivery.

Usage is as simple as:

    Zend_Mail::setDefaultTransport( new Mail_Transport_Postmark( 'your_api_key' ) );
    $mail = new Zend_Mail();
    $mail->setFrom( 'alistair...', 'Alistair Phillips' );
    $mail->setReplyTo( 'some-other-address', 'Alistair Phillips' );
    $mail->addTo( 'new-user-address', 'Joe Smith' );
    $mail->setSubject( 'Welcome to...' );
    $mail->setBodyText( 'This is an example of a text body' );
    $mail->setBodyHtml( 'This is an example of an HTML body with <strong>bold</strong>' );

One call to setDefaultTransport() and you're now using the cloud for delivery. Added support for attachments to the class.

Alternatively, you can use our application resource.
In your application/config/application.ini, add these lines:

		; This makes sure that your Zend Framework application can find the correct
		; resource file. Make sure, the Postmark folder is within your library folder.
    pluginPaths.Postmark_Application_Resource = "Postmark/Application/Resource"

		; This initializes the Postmark drop-in replacement.
    resources.postmark.apikey = "your_api_key"

Now you're good to go and don't have to manually do anything else.