Jump to Content

Objective HTML


The definitive email solution for ExpressionEngine



  • (Feature) Added new Mailchimp Segment service and Mailchimp Member Subscribe Tasks
  • (Feature) Added a new Task that will allow channel entries to generate "subscriber" groups in MC. So the author of the entry can then have other subscribers in a group within MC.
  • (Feature) Added new update_member_form tag to update the Mailchimp list member profile
  • (Feature) Added a new no_results_prefix to the is_subscribed tag
  • (Feature) Added new Zoo Visitor Mailchimp Sync
  • (Feature) Added new feature to not match categories explicitly when validating an entry's category.
  • (Feature) Added new Zoo Visitor CP Register End hook
  • (Feature) Added new Zoo Visitor CP Update End hook
  • (Feature) Changed the way member groups, categories, and statuses are validated. Now if no member group, category, or status is specified in the parcel, the respective conditional will always be validated as TRUE instead of FALSE. This makes it so you don't have to specify a member group anymore, but rather only validate on that conditional if something has been specified.
  • (Bug Fix) Fixed an issue with specific dates not working if a timestamp was passed
  • (Bug Fix) Fixed some deprecation errors for 2.8+, removed the add_to_head() method references
  • (Bug Fix) Fixed a bug with the double_optin function with the MC subscribe feature
  • (Bug Fix) Fixed a bug with the update_existing function with the MC subscribe feature
  • (Bug Fix) Fixed a minor issue with certain MC features not working 100%
  • (Bug Fix) Fixed an issue that would cause errors when updating
  • (Bug Fix) Fixed some issue that would cause the preview to not work in 2.8.x
  • (Bug Fix) Updated the Channel Data template parser to fix some parsing issues in 2.8+
  • (Bug Fix) Added ability for is_subscribed feature to test for subscribers within a specific group/segment in Mailchimp
  • (Bug Fix) Fixed an issue that would cause windows servers to throw an SSL error when trying to use Mandrill.
  • (Bug Fix) Made global logged_in_x variables parse with the Base_delegate class
  • (Bug Fix) Fixed an issue with the item options not parsing correctly in the CT Authorize hook
  • (Bug Fix) Fixed an issue with the status columns not being consistent data types. Changed form VARCHAR (100) to TEXT.
  • (Bug Fix) Fixed an issue with the strict method declarations causing PHP errors
  • (Bug Fix) Fixed an issue with the SMTP timeout variable not getting a default value, which could prevent emails from getting sent using SMTP if no value was set.
  • (Bug Fix) Fixed an issue with port being output twice in form action url's
  • (Bug Fix) Fixed an issue with sending to multiple emails with the Mandrill email service


  • (Feature) Added new is_subscribed methods Mailchimp and CampaignMonitor
  • (Feature) Added the is_subscribed method to the campaign utility
  • (Feature) Added new tag to fetch items from the exp_postmaster_mailbox table. Useful for fetching when the last time a parcel was sent.
  • (Feature) Added ct_on_processing hook
  • (Feature) Added ability to detect channel form submissions from the "{parcel:channel_form}" variable.
  • (Feature) Added the ability to use the CURRENT_USER constant in place of the the {email} variable to subscribe the current logged in email.
  • (Feature) Added ability to fetch a member's activation url
  • (Bug Fix) Fixed an issue with the preview parser not working when MSM is installed
  • (Bug Fix) Updated Base Form and Email Form utility to validate and require email fields.
  • (Bug Fix) Fixed issues that occurred if an entry is submitted with Mailchimp setup but no list_id's were defined.
  • (Bug Fixes) Fixed a number of parsing issues with the legacy Channel Data
  • (Bug Fix) Fixed issues with the settings object not getting passed to notifications correctly
  • (Bug Fix) Fixed an issue with MailChimp not returning the subscribers to a specified list properly.
  • (Bug Fix) Fixed an issue that would uninstall extensions if a hook was deleted but another Postmaster hook was sharing the same internal hook.
  • (Bug Fix) Fixed an issue with Postmaster not uninstalling correctly
  • (Bug Fix) Fixed an issue with the Postmaster date parsing. http://devot-ee.com/add-ons/support/postmaster/viewthread/10522
  • (Bug Fix) Fixed issue with CT not triggering multiple hooks if the same hook was installed
  • (Bug Fix) Fixed an issue with a discount_model missing for CT on Authorize
  • (Bug Fix) Fixed an issue with notifications messages not parsing. All notifications that aren't parsing correctly must be re-saved from the CP for this change to take affect.


  • (Bug Fix) Fixed EE 2.8.0 compatibility issues
  • (Bug Fix) Fixed an issue that would cause a PHP error
  • (Bug Fix) Fixed an issue with the plain text option in Mandrill
  • (Bug Fix) Updated version number
  • (Bug Fix) Fixed an issue comparing a boolean to a string that worked in PHP 5.3.x but breaks in PHP 5.4+
  • (Bug Fix) Fixed a couple variable mapping issues with the Send System Email hook
  • (Bug Fix) Fixed a couple inconsistencies with the Mandrill email serv
  • (Bug Fix) Fixed an issue with the CC and BCC addresses not working for Mandrill
  • (Bug Fix) Removed the pipe (|) delimiter and replaced with a comma for sending to multiple addresses within the Mandrill email service.
  • (Bug Fix) Added BCC addresses to the SendGrid


  • (Feature) Added a new CartThrob Additional Processing hook
  • (Feature) Added member_member_register hook
  • (Bug Fix) Fixed CT issues that would prevent hooks from triggering in some cases
  • (Bug Fix) Fixed an issue with subscribe function not working for CampaignMonitor
  • (Bug Fix) Fixed an issue with parcel not sending if user changed the channel_id in the publish entry form.
  • (Bug Fix) Fixed an issue with PHP errors appearing in some cases when using the API
  • (Bug Fix) Fixed an issue with the {unwrap} tag still appearing in the email_send hook.
  • (Bug Fix) Fixed issue with sending plain text emails. Added new method Postmaster_lib::plain_text($message) to remove the unwanted HTML tags while attempting to maintain the formatting.


  • (Feature) Added a new CartThrob Additional Processing hook
  • (Bug Fix) Updated Base Form to latest
  • (Bug Fix) Fixed an issue with CampaignMonitor throwing an error when creating a duplicate campaign. This is a temporary fix until a proper fix can be implemented.
  • (Bug Fix) Fixed an issue with the current_url including www. twice in the URL.
  • (Bug Fix) Added an provision to add the base_url method if it doesn't exist (in rare cases)
  • (Bug Fix) Fixed an issue that caused a PHP error when calling a method if a dependent library wasn't previously loaded properly.
  • (Bug Fix) Fixed an issue preventing users from post dating emails. PHP errors would trigger when sending those emails from the queue.
  • (Bug Fix) Added member data to the expired entries notification
  • (Bug Fix) Updated Channel Data to latest
  • (Bug Fix) Fixed some issues with the Mandrill Matrix Mailing List email service
  • (API) Change the prefix for service variables to "service:".


  • (Feature) Added new global_field parameter to assign global data to the Email Form tag/templates.
  • (Bug Fix) Fixed an issue with Postmaster's legacy route_hook method being installed while the trigger_hook method being the correct method.
  • (Bug Fix) Fixed an issue with the current_url method not returning the proper URL is the base_url has no WWW but the current URL does.
  • (Bug Fix) Removed the route_hook trigger from the installation file
  • (Bug Fix) Fixed an issue with upgrading from 1.4.1 to 1.4.3.
  • (Bug Fix) Fixed an incompatibility for version prior to EE 2.7
  • (Bug Fix) Fixed an issue with the Email Form Send hook
  • (Bug Fix) Fixed an issue with Base Form not parsing correctly
  • (Bug Fix) Added new config to help assist supporting multiple dev environments.


  • (Feature) Added redirect parameter to the Email Form Utility
  • (Bug Fix) Fixed more update/install issues.
  • (Bug Fix) Fixed an issue with deprecated functions showing in the dev log in the CP


  • (Bug Fix) Fixed an issue with loading the Postmaster_task file during the update process


  • (Feature) Added the new Tasks API
  • (Feature) Added the ability to enable and disable Postmaster actions without deleting or changing their settings
  • (Feature) Added new Email_form utility which creates the {exp:postmaster:email_form:open} tag.
  • (Feature) Created a new Email Form Submit hook to send emails posted in the Email_form delegate.
  • (Feature) Added new Postmaster Endpoint utility to create a dynamic template tag to send email using an API endpoint.
  • (Feature) Created a new notification to trigger X days before expiration.
  • (Feature) Added new hook to make Postmaster work with the notify users hook in Better Workflow.
  • (Feature) Added compatibility with the CP_members_member_register hook so Postmaster can send emails when members register via the CP.
  • (Feature) Added unencrypted password to the variables being parsed for the CP Registration hook. (Use cautiously!)
  • (Feature) Included 2 new Zoo Visitor hooks. Register and Edit Profile hooks now included
  • (Feature) Added compatibility for Store (v1) Successful Checkouts.
  • (Feature) Added ability to use custom fields with CampaignMonitor within subscribe forms
  • (Feature) Added new Weekly Store Reporting notification
  • (Feature) Added the ability to only send entry parcels one time.
  • (API) Added new trim_array function to the base_api class
  • (API) Installed addon_helper to make getting the current page url's consistent
  • (API) Added new plain_message and html_message columns to the Postmaster tables to support multiple email content types (vs just one).
  • (API) Added the var_prefix property to the Base_service class to ensure all services are properly prefixed when using $this->parse() method.
  • (API) Added backwards compatibility to the control panel for the new multiple email content types.
  • (API) Updated all email services to include compatibility for html_message and plain_message content types (vs. just supporting one type). This feature is still not 100% ready for production, but the underlying API is now available at the core.
  • (API) Fixed namespacing issue with the Curl library. Renamed to Postmaster_curl() which is still accessed via $this->curl object.
  • (Bug Fix) Fixed EE 2.7 compatibility issues
  • (Bug Fix) Fixed bug with getting the current_page url
  • (Bug Fix) Fixed an issue with the db migrations utility
  • (Bug Fix) Fixed an issue with legacy hooks without an enabled index that would throw a PHP error
  • (Bug Fix) Renamed file to avoid issues with older versions of PHP
  • (Bug Fix) Fixed issues with the Matrix Mailing service not parsing matrix data properly.
  • (Bug Fix) Fixed parsing issues with current_time and edit_date within Parcels
  • (Bug Fix) Added an error to the MailChimp service that triggers if the campaign fails to create.
  • (Bug Fix) Fixed an issue that would cause PHP errors with 5.2.x
  • (Bug Fix) Fixed an issue with the way assets were being loaded
  • (Bug Fix) Fixed an EE bug that prevented parcels, hooks, and notifications from being created properly within an MSM setup. Error only triggered for alt. sites.
  • (Bug Fix) Fixed an issue with the typography class parsing URL's incorrectly.
  • (Bug Fix) Fixed an issue with Postmaster updating on certain servers and causing PHP errors.


  • (Bug Fix) Fixed some issues preventing system emails from sending.
  • (Bug Fix) Fixed an issue with Zoo Visitor not sending emails.
  • (Bug Fix) Fixed an issue with the base delegate being instantiated twice.


  • (Feature) Added new route_hook() method that will be called anytime the route_hook hook is triggered. This allows developers to execute methods in any class by routing it to the defined methods. For a working example, refer to the Cartthrob Abandoned Cart Notification. This feature really belongs in 1.4, and therefor will not be documented until the 1.4 release. However, this was required for a fix in the CartThrob Abandoned Cart notification (and the new API didn't break anything for backwards compatibility).
  • (Bug Fix) Fixed an issue with the email history clearing on checkout (which is what required the API update to work properly).
  • (Bug Fix) Refactored install code to be more reusable for other Postmaster components.
  • (Bug Fix) Fixed an issue preventing notifications from being duplicated.
  • (Bug Fix) Fixed an issue preventing hooks from being added to the queue properly.
  • (Bug Fix) Eliminated dependency on the UNIX timestamps in the db in favor the MySQL timestamp datatype.
  • (Bug Fix) Various API consistency updates and code cleanup


  • (Bug Fix) Fixed all known 2.6.0 compatibility issues. Please report any 2.6.0 issues as you see them.


  • (Bug Fix) Fixed parse order issue involving global nested variables.
  • (Bug Fix) Fixed an issue caused by files being started with a capital letter.
  • (Bug Fix) Fixed issues with the CartThrob on Authorize hook throwing errors if no subscription was present.
  • (Bug Fix) Fixed an issue with the CampaignMonitor service causing PHP notices.
  • (Bug Fix) Fixed an issue with the get_settings() method in the services.
  • (Bug Fix) Refactored get_settings() in the Postmaster_base_api
  • (Bug Fix) Removed some rogue PHP short tags
  • (Bug Fix) Fixed issue with MailChimp not sending campaigns
  • (Bug Fix) Updated version number to 1.3.1
  • (Bug Fix) Postmaster will no longer break if an API file does not start with a capital letter.


  • (Feature) Added new Notifications API
  • (Feature) Added new Basic Notification
  • (Feature) Added a new CartThrob Abandoned Cart Notification
  • (Featured) Added new config variables to enable Postmaster debugging. Logs appear in the CP.
  • (Feature) Added a {parcel:safecracker} variable to the parsing routine so people can trigger emails only when submitted with Safecracker.
  • (Feature) Added first_name and last_name parameters to the Campaign delegate and the Mailchimp email service. So people can pass the first/last name along with the email for the subscriber info.
  • (Feature) Added new pre_parse() and post_parse() methods that allows developers to execute logic before and after the email has sent. Compatible with Services, Hooks, and Notifications.
  • (Feature) Added first_name and last_name parameters to the subscribe form.
  • (Feature) Added a logged_in_member_id to the parcels, hooks, and notifications API.
  • (Bug Fix) Fixed an issue with validating the member group.
  • (Bug Fix) Removed var_dump in the parser method.
  • (Bug Fix) Bug fixes to the way parcels are sent. This is something that should be monitored, as it could come back.
  • (Bug Fix) Fixed an issue with the total_objects() method
  • (Bug Fix) Removed the {unwrap} tag from parsed messages for the System Email service if not using ExpressionEngine.
  • (Bug Fix) Fixed a bug when using system email hooks that caused the return_data to always be FALSE
  • (Bug Fix) Fixed bugs in the System Email hook that caused PHP errors and prevented the email from sending.
  • (Bug Fix) Fixed an issue that was triggered is another add-on instantiated the Markdown() function prior to Postmaster.
  • (Bug Fix) Fixed a bug that caused PHP errors to appear on update.
  • (Bug Fix) Fixed a bug that caused PHP errors to appear if a hook triggered and email to go into the queue.
  • (Bug Fix) Fixed an issue that caused the flyout pane to not appear correctly.
  • (Bug Fix) Fixed a bug that caused a service to not get loaded properly
  • (Bug Fix) Fixed install/edit hook bug that caused some hooks to install incorrectly.
  • (Bug Fix) Fixed a bug that prevented multiple postmaster hooks from sharing hooks within EE. Added new actual_hook_name to the data schema
  • (Bug Fix) Fixed a bug preventing the hooks from being deleted
  • (Bug Fix) Updated Channel Data library
Developer Notes
  • Refactored API again to be more consistent. Services now extends Base_service instead of Postmaster_core. Postmaster_core is a core class in which all base classes are extended.
  • Any service or hook you have created should be updated to extend Postmaster_base_class if it extends Postmaster_core.
  • All API's have an install, update, and uninstall routines that are triggered when the respected method are triggered within Postmaster
  • All API's have a pre_process, post_process, trigger, and send
  • All API's should extend Postmaster_base_class, not Postmaster_core


  • (Feature) Added new Hooks API
  • (Feature) Added plain text option to SendGrid and Mandrill
  • (Feature) Added exp:postmaster:trigger tag
  • (Feature) Added Carthrob_on_authorize hook
  • (Feature) Added Carthrob_subscription_created hook
  • (Feature) Added Carthrob_subscription_hold hook
  • (Feature) Added Carthrob_subscription_rebilled hook
  • (Feature) Added Channel_entries_tagdata_end hook
  • (Feature) Added Email_send hook (to take control of system emails)
  • (Feature) Added Member_member_login hook
  • (Feature) Added Member_member_logout hook
  • (Feature) Added Profile_edit_end hook
  • (Feature) Added Profile_register_end hook
  • (Feature) Added Trigger tag hook
  • (Feature) Added MSM compatibility
  • (Feature) Added Mailgun support
  • (Bug Fix) Bug fixes for TMPL parsing, inconsistency fixes, etc (A complete rewrite of the parsing engine).
  • (Bug Fix) Postmaster updates for PHP 5.2 compatibility
  • (Bug Fix) Changed the way UI's were built - updated with InterfaceBuilder
  • (Bug Fix) Remove PHP short tags from views.
  • (Bug Fix) Increased priority to 1 on the entry_submission_end hook.
  • (Bug Fix) Fixed an issue that caused member groups to appear twice in Parcels.
  • (Bug Fix) Fixed a bug that caused the update process to fail if new action_id's were added.
  • (Bug Fix) Fixed bugs that caused library to disrespect environmental constants.
  • (Bug Fix) Fixed a localization issue that causes some servers to send emails to the queue when they should send.
  • (Bug Fix) Updated Theme Loader library for EE 2.5.3 config vars.
  • (Bug Fix) Fixed bug in the email preview
  • (Bug Fix) Fixed issue causing the member fields not to parse correctly
  • (Bug Fix) Fixed an issue preventing the parcels from saving if an index.html file existed alongside the index.php file.
  • (Bug Fix) Added custom date field parsing
  • (Bug Fix) Added new method to parse path variables
  • (Bug Fix) Fixed bug that caused a missing entry property in the parcel object.
  • (Bug Fix) Removed the unset($this->EE->base_form->validation_field); from the Campaign.php delegate
  • (Bug Fix) Fixed a call to reference bug introduced in EE 2.5.3
  • (Bug Fix) Updated the Edit_Parcel.php library to account for MSM. Removed the logic to filter out member groups the aren't yet assigned.
  • (Bug Fix) Fixed a bug that prevented reoccurring emails from working properly.
  • (Bug Fix) Added better documentation
  • (Bug Fix) Fixed parsing issues with tag pairs inside of hooks
  • (Bug Fix) Fixed a bug if no status is defined and entry has no status, return TRUE
  • (Bug Fix) Fixed an issue with postmaster not displaying categories correctly.


  • Public release


  • (Bug Fix) Fixed a compatibility issue for version of EE prior to 2.5. (PHP magic methods are not required to trigger a delegate.)
  • (Bug Fix) Fixed a routing issue that caused the invalid delegate method.
  • (Feature) Added 5 new methods to the MailChimp service – subscribers(), subscribe(), unsubscribe(), subscribe_form(), unsubscribe_form().
  • (Usability) Added an error message if user calls a non existent delegate method.
  • (Usability) Added delegates to the module control panel page.
  • (API) Added new Postmaster_core class for more modularity and extendibility.
  • (API) Replaced APPPATH with PATH_THIRD constant
  • (API) Abstracted some methods to the new Postmaster_core class.
  • (API) Extended the Postmaster class with Base_Delegate to handle new delegate methods.


  • (Bug Fix) Fixed an issue when parsing member data.


  • (Feature) Added CampaignMonitor integration
  • (Feature) Added the ability to parse most fieldypes without channel entries loop
  • (Bug Fix) Fixed a required library bug
  • (Bug Fix) Fixed a number of markup issues in the template view itself.


  • (Bug Fix) Fixed an issue with the parse order throwing an error for advanced conditionals.
  • (Bug Fix) Removed an unnecessary require script to load the EE_Template class.
  • (Bug Fix) Fixed a couple minor CSS issues breaking the CP sidebar.


  • (Feature) Re-wrote core architecture to support third party API's.
  • (Feature) Included MailChimp, Postmark, PostageApp, and SendGrid API's
  • (Feature) Added robust email queue and reocurring emails
  • (Feature) Added unsubscribe and blacklisting
  • (Feature) Added member data to the default template parsing variables


  • Fixed a bug that prevented users using the admin.php files from working properly
  • Removed the PHP short echo tags to try to eliminate bugs with some users


  • First round of UX tweaks
  • Added tooltips to UI
  • Change input fields to textareas for more flexibility and longer max char length



Initial beta release