Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 51 Next »

Transactional and other personalized emails

Sending messages through MailUp from an external application allows you to take advantage of:

  • The high reputation and scalability of the MailUp sending infrastructure
  • Automatic bounce and feedback loop management
  • Ability to include dynamic tags and dynamic content
  • Ability to check the send status via API
The use of dynamic fields (or dynamic tags) allows you to send individual email messages containing some personalized content. These messages - often transactional emails - typically consist of a template plus some personalized fields: for example, a password reminder, a form submission confirmation, an order confirmation, and so on.

MailUp can manage the whole process automatically:

  • Messages are sent very quickly, thanks to a robust and scalable infrastructure that guarantees immediate sending (except in case of grey listing on destination servers). 
  • There are no bandwidth restrictions and a dedicated channel is used for sending these messages (no queue-related delay). 
  • Automatic processes can be activated following actions that users might have performed.
  • NOTE: this channel cannot be used to send bulk email messages, but rather only for transactional emails. There are limitations in place that prevent system abuse.

MailUp can send transactional emails in two ways:

By using the method used to send confirmation messages

MailUp sends a confirmation message to subscribers through an automatic procedure. Subscription can take place in two ways:

The content of the subscription confirmation message can be edited, so to make it correspond to the template of the message you want to send (there is only one confirmation message for each list, but you can set up multiple lists within your MailUp account).

The confirmation message can be personalized with the recipient's personal data by using dynamic fields (up to 40 available when purchasing the Marketing+ package).

These emails can also contain a link triggering an action (opening of a messages page and automatic sending of another email), through the use of SUB link. A specific list can be created for the purpose, and each list can have a different sender address. 

By using Web services

A web service allows the immediate sending of a single message. This procedure is much more flexible, but it is paramount to follow the instructions provided in the section describing this function.

The WS_MailUpSend.SendSingleNewsletter method allows to send an email message with the indication of subject, recipients and contents. 

When using SendSingleNewsletter(), the best practice is to use predefined messages with dynamic sections, and not to create a brand new newsletter for each call. In this case MailUp would keep on using space to store the new content, which can negatively affect performance for your MailUp account.

Bulk messages

This section describes the different ways through which MailUp can be used to send email messages to groups and lists of users without accessing the administration console. The methods described above can be used to send individual, personalized messages, such as transactional emails. However, if the goal is to send large amounts of messages or DEMs, the best practice to follow is described below.

Some possible scenarios are presented here - with the indication of the web services to be used - as examples of common scenarios. This is in no way an exhaustive overview of all the possible scenarios.

Please note that these examples do not talk about authentication. Please refer to the related documentation for details on authentication.

Example 1: message and recipients exist in the MailUp admin console

You may want to send a message to a group of users and both the message and the recipients list are already available in the MailUp console.

  1. If the message has to be sent to all the recipients in a list the suggested method is WS_MailUpSend.SendNewsletter method. Parameters "send_to = ALL" , list ID, message ID and time and date of sending must be specified. Message and list IDs can be found at the page Settings > Codes Tables  in the MailUp console, or using GetLists() and GetNewsletters() methods.
  2. If the recipients are just some groups in a list, when calling the SendNewsletter() method the group IDs must be specified as well.
  3. If the users share data that can be extracted using one of the MailUp filters (personal data, activity and geolocation filters, available in the Marketing+ package) when calling the SendNewsletter() method the filter to be applied must be indicated as well. Filters can be used in addition or as an alternative to groups. The great advantage of using them lies in the fact that all the users matching a certain condition are automatically included in the filter results, whereas a user must be inserted into a group for group membership.


It is imperative that you do not use SendSingleNewsletter() in place of SendNewsletter(): the first one has to be used only for transactional emails, as described above. Use of SendSingleNewsletter() for the purpose of sending bulk email messages will trigger a send block on your account and may lead to account termination.


Example 2: not all recipients exist in the MailUp admin console

Similar to Example 1, but in this case a group of recipients has to be imported as well. Some of these recipients might be already subscribed in MailUp due to a previous signup to a newsletter, some others might be new subscribers.

  1. Through WS_MailUpImport methods a new temporary group is created (CreateGroup(groupName)) and a group of recipients is imported to it (StartImportProcess(groupID, recipients,…)). This operation may last several minutes, depending on how large the group is, and it can be monitored using GetProcessDetails(). Once the import is finished, SendNewsletter(groupID) method can be used to perform the sending. At the end of the process the group which was created for the purpose must be deleted using DeleteGroup(). 
  2. This procedure applies to SMS sending as well: in that case, the method to be used is WS_MailUpSend.SendSMS method.
  3. The procedure described here above is less effective when there are large amounts of data to be imported, so it may be useful to use an alternative procedure that provides for a "bulk" import from a file following an input via web service. 
  4. SendMessageNL(fileName, listId, messageId, timeDateSending,) method allows to schedule a sending for the desired time and date, then asynchronously executes the following operations:
    1. Creation of a temporary group
    2. Import to this group of the recipients indicated in the file
    3. Sending of the message at the scheduled time and date
    4. Deletion of the temporary group


Example 3: creating and sending a message via the MailUp API

In some cases it may be necessary to import into MailUp a message created using an external system. The CreateNewsletters() method allows the creation of a new message where the parameter to be passed is the body of the message (html, text or URL that points to the html file).
It is also possible to use the SendNewsletterFast() method, which conveys to a single call the information that can be drawn from the calls to CreateNewsletters() e SendNewsletter() methods.

It is imperative that you do not use SendSingleNewsletter() in place of SendNewsletter(): the first one has to be used only for transactional emails, as described above. Use of SendSingleNewsletter() for the purpose of sending bulk email messages will trigger a send block on your account and may lead to account termination.

Example 4: cloning a message to track separate mailings

Most customers need to track campaign results. When the same message is sent more than once (three different times, to three different groups), statistics are accumulated and pertain to all mailings, not the three individual mailings. To get around this issue, you can make a copy of a message by cloning it using the CloneMessage() method: once the copy has been created, the sending can be performed as described above as this is treated as a completely new mailing for a completely separate message (even if the actual message being sent is identical to another one). 

Note that when using web services it is not possible to manage the import of external campaign codes: this operation requires an import via batch instead.


Batch FTP ZIP mode is a special integration allowing to import via batch a zip file containing the recipients list, the html message to be sent, and a configuration file that defines the mailing details (date, time and so on).

Batch FTP ZIP integration is available for an extra charge. For technical details see FTP-based message creation and sending 

Handling bulk mailings via Web Services

Your MailUp account can be configured to perform bulk mailings with highly personalized content, through the use of web services. A special web service method is called, and parameters such as the recipient's email address and the body of the message are passed. The MailUp console then adds these calls to the queue and a scheduled batch process is in charge of picking and sending blocks of messages in order to maximize delivery performances according to the purchased bandwidth. This procedure is suitable for high-volume mailings that require sending all the emails within a specified time frame.


  • Higher performance than traditional web services (sending speed depends on the bandwidth purchased for the account);
  • Ability to manage millions of requests per day, and to respect a deadline of delivery, as long as the bandwidth of the console is consistent with the size of the messages, the desired delivery time and the mailing volume;
  • Avoids issues that afflict traditional web services, when every request involves the creation of a new message;
  • Sends personalized messages for each recipient
  • Allows to specify a text version of the message, different from the html version.


  • Designed for cases in which there is no or little need to access the MailUp console, so some features that pertain to the sending or tracking of the message may not be available;
  • The console for massive mailings is a spin-off of MailUp 7.3 (released in late 2010), but does not follow the same roadmap of software releases, so it may not support the latest features added to the new releases of the console;
  • Sent messages are stored as belonging to the same newsletter. As a consequence, the statistics include just message-level reports filtered by date;
  • Not suitable for single messages sent in real time (appropriate configurations can reduce latency to just one minute, although our experience shows that ideal configurations have a latency of 15-30 minutes)
  • In order to guarantee the highest level of performance, a periodic removal of unnecessary data is required. For this reason, one MailUp account is not enough for an intensive 24x7 usage: in this case, it is recommended to purchase two or more MailUp accounts and configure the web service calls distribution in such a way that every day each account has a peak of intensive usage and an idle period. The web service interface is always the same even with more than one console.


  • No labels