Jump to Content

Objective HTML

Postmaster

The definitive email solution for ExpressionEngine

What is a parcel?

A parcel is a series of configurations that allow you to control who sends and receives the email, when to send the email, the template markup and EE tags, an email preview, and the service that send each email. Parcels allow you to create an unlimited number of configurations, so the possibilities are limitless.

How do parcels work?

A parcel works by defining the sender and recipient(s) of the email along with a channel. Once a channel has been specified you can choose to send emails based on member groups, statuses, categories, and conditionals using channel fields. Then when entries are submitted that match the defined criteria, the email is sent.

How are emails sent?

Emails are sent by default using ExpressionEngine's native libraries in conjunction with your PHP server. However, Postmaster makes no assumption on which service you can use. MailChimp, CampaignMonitor, SendGrid, Postmark, Mailgun, and PostageApp are all currently supported.

We are constantly adding support for new services. If you have an email service you would like to see supported, [contact us](mailto:support@objectivehtml.com) and let us know which service interests you.

Variable Reference

Parcels variables are created by Postmaster to make it easier to create your templates by giving you direct access to the channel fields.

If your channel fields require a channel entries hook, using them directly will not work and could potentially cause an error. So, if your channel field doesn't work as expected, simply use a channel entries loop to fix the problem.

{parcel:title}
The title of the entry.
{parcel:url_title}
The url_title of the entry.
{parcel:entry_id}
The entry_id of the entry.
{parcel:channel_id}
The channel_id of the entry.
{parcel:author_id}
The author_id of the entry.
{parcel:status}
The status of the entry.
{parcel:entry_date}
The entry_date of the entry. Can be formatted like a standard EE date field.
{parcel:expiration_date}
The expiration_date of the entry. Can be formatted like a standard EE date field.
{parcel:your_channel_field}
You can access you channel fields for each entry
{member:member_id}
The member_id of the author of the entry.
{member:group_id}
The group_id of the author of the entry.
{member:email}
The email of the author of the entry.
{member:username}
The username of the author of the entry
{member:screen_name}
The screename of the author of the entry
{member:your_member_field}
You can access member custom fields too

Example of channel entries usage



{parcel:title}
{parcel:your_text_field}

{exp:channel:entries channel="your-channel" entry_id="{parcel:entry_id}" dynamic="no"}
	
	{parcel:entry_date format="%Y"}
	{parcel:your_text_field2}
	
	{your_matrix_field}
		{col1} {col2}	
	{/your_matrix_field}
	
{/exp:channel:entries}

If you are seeing blank fields, try adding dynamic="no" to your channel entries tag.