SMTP+: advanced features and sample code
During the beta testing period of our SMTP+ service we added a new host domain (fast.smtpok.com) for those who were interested in trying the new features in advance.
Now both the following host names provide exactly the same result:
- in.smtpok.com (as suggested on MailUp admin console when creating a new SMTP+ user)
Our SMTP relay service supports a X-SMTPAPI custom header that allows you to access several features by specifying additional parameters through a JSON object.
The following table includes the parameters that can be added through X-SMTPAPI to override the settings that are defined at the MailUp list or at the SMTP+ user level. None of these fields is mandatory.
X-SMTPAPI value is processed by MailUp but it is not actually added to the headers of the delivered message.
|String that is displayed as aggregate message name on admin console|
|String that is used for message aggregation,overrides list settings. When not specified, MailUp applies the aggregation type of used SMTP+ account|
|Boolean, overrides the list settings about adding default header or not.|
|Boolean, overrides the list settings about adding default footer or not.|
|Boolean, overrides the list settings about click tracking.|
|Boolean, overrides the list settings about open tracking.|
|Integer, from 1 (highest) to 5 (lowest), overrides SMTP+ account settings|
|Used to schedule send. An example of expected format is "2015-02-26T15:55+02:00". Send is immediate if field is equal to "null" or specifies a date-time that occurs in the past|
|Array of key-value pairs to be used as merge tags ("N" = name or key, "V" = value)|
When this field is set to "true", placeholders (i.e. text between square brackets) are not managed as merge tags.
SkipDynamicFields= true -> [name] is not replaced by the recipient's name. SkipDynamicFields= false, null or not specified -> [name] is replaced by the recipient's name.
Please note that MailUp specific tags like [email] and [idoptin] cannot be skipped, hence the "SkipDynamicFields= true" setting does not apply to them.
Use merge tags
Among the various important features, SMTP+ supports merge tags (also called dynamic fields in MailUp).
You can use two kinds of merge tags:
- merging values defined in recipient fields
- merging values defined in the header of the message
In both cases, the syntax to be used in the message code is:
- name of the tag in lowercase
- between square brackets
For example, if you created a custom recipient field in your MailUp account called FirstName, the merge tag to use in the subject or body of the email message would be:
Merge tags based on recipient fields
You can merge tags for any of those recipient fields. Substitution occurs at the time the message issent, when those fields contain a value. Otherwise empty values will be displayed in place of the placeholder.
Merge tags based on value pairs defined in the message header
With SMTP+ you can reuse a message template (i.e. the same subject and body) and customize it with key-value pairs that are specified through custom headers added to the message. Also tables and HTML content can be used as a merge tag's value.
Custom reports based on campaign code
In order to create meaningful statistics for transactional mailings, MailUp aggregates sending data based on a variety of parameters. For example, you can instruct the system to aggregate by message subject, or SMTP+ user, etc.
SMTP+ introduces the ability to aggregate sending data based on a custom CampaignCode parameter. This allows you to create a customized aggregation when none of the available options suits the desired behavior.
For example, let's say that you wanted to aggregate sending statistics based on a specific keyword that is inside the message subject: there would be no way to meet your needs with the predefined aggregation options that are available in the SMTP+ settings within the MailUp admin console.
The CampaignCode parameter comes to the rescue, allowing you to specify a code within the message header and force aggregation based on that code.
An additional parameter called CampaignName can be used to specify a name to be displayed on inside the MailUp admin console for those.
Another important feature added with SMTP+ is support deferred sending. Specifically, you can now schedule a message so that it is sent at a specified date and time (with time zone).
Note: the message is sent immediately when the specified date and time has already occurred.
Combining instructions in the message header
Use commas as the separator for the X-SMTPAPI parameters that you wish to set in the message header.