Postman for ExpressionEngine 2

Ridiculously reliable transactional email for EE2.

Version 1.0.6

Buy Now! $20

Installing Postman

Prerequisites

Installation Instructions

  1. Upload the third_party/postman directory to system/expressionengine/third_party/
  2. Install the module in Add-Ons → Modules
  3. Yep, that's it.

Module Configuration

Details on all of Postman's settings follow. Pay attention to key differences between Postmark and PostageApp features!

Email Carrier

This is where you get to pick between Postmark and PostageApp, or as a fallback, ExpressionEngine. You actually have to go get an account with one of these services – unfortunately this module doesn't do that automagically for you. Use you use ExpressionEngine as an email handler, you won't gain any of the reliability or reporting benefits, but that comes without saying, right?

API Key

Each of the services will give you an API key in your account dashboard. It's the pivotal part of your account and is very easy to find. Promise.

Sender Name, Sender Email Address, and Reply-to Email Address (Postmark only)

When using Postmark, these settings need to be mirrored exactly as configured in your account (In the "Rack" area). If you're using PostageApp, it's a free-for-all. Additionally, PostageApp does not support a reply-to address.

Reply-to Email Address

Set the default to whatever you'd like. You can override this setting in the template tag if you'd like. This is where bounced emails go when using PostageApp.

Developer Mode

Setting this to Yes will prevent Postman from triggering emails.

License Key

Just drop in the license key from your purchase to enable the module. Every site using Postman must have its own License Key!

Template Tag

Postman triggers emails with a single tag. You'll want to put it after a confirmation page, thank you page, form post, etc to avoid over-sending.

{ exp:postman:send }

Tag Parameters

email [option in required set]

email="receipt"

The short-name of the Postman email you want to trigger.

email_id [option in required set]

email_id="7"

The id of the Postman email you want to trigger. An alternative to "email".

html_template/text_template [option in required set]

html_template="emails/html_receipt" text_template="emails/text_receipt"

The ExpressionEngine templates you'd like to send as an email. An alternative to Postman emails.

to [defaults to logged in user]

to="hanna.montana@example.com"
		
		// Or with multiple recipients
		to="hanna.montana@example.com, miley.cyrus@example.com"

Used to set the recipient(s) of the email. You can use any early parsed variables or static content to pass the value. In order to send to multiple recipients simply use a comma separated list.

to_name [Defaults to logged in user]

to_name="King Crab"

Can only be used with single recipients.

cc [optional - Postmark only]

cc="john.candy@example.com"
		
		// Or with multiple recipients
		to="john.candy@example.com, king.crab@example.com"

Used to set carbon copy recipients of the email. You can use any early parsed variables or static content to pass the value. In order to send to multiple recipients simply use a comma separated list.

cc_name [optional - Postmark only]

cc_name="Starfish Sandy"

Can only be used with single cc recipients.

bcc [optional - Postmark only]

bcc="john.candy@example.com"
		
		// Or with multiple recipients
		bcc="john.candy@example.com, king.crab@example.com"

Used to set carbon copy recipients of the email. You can use any early parsed variables or static content to pass the value. In order to send to multiple recipients simply use a comma separated list.

require_ip [Defaults to "no"]

require_ip="yes"

Prevents email from being sent to non-Super Admin users without a valid IP address.

Troubleshooting

My email isn't being sent

Make sure your sender account preferences are correct (API key, from name, from address, reply-to) and that your "to" address is an actual email address, If you're using Postmark, the template should render a descriptive error for you. Unfortunately PostageApp doesn't have robust error reporting at this time. Also, make sure Developer Mode is set to "no".

My email was sent multiple times

We recommend using Postman tags behind form posts, which discourage users from refreshing the page, causing another email to be sent. We're currently exploring methods of duplicate-detection, but want to see how people use the system first.

Will Postman ever...

Yes! Well, at least theoretically. We're looking for the user community to guide the future of this module. Want it to integrate with Freeform? You got it! You want all system emails to be sent using Postman? Well, as soon as they add the right hook, you got that one too. If it turns out everyone is happy to have their emails maybe get there, than there isn't much hope for the future.

The Lobster War Machine was here.