This part of the document describes the different ways through which an external system can use MailUp to send email messages with dynamic contents: this way, it is possible to take advantage of the MailUp reputation and sending infrastructure to avoid spam filters and check both send status and the archive of sent messages.

Transactional emails

The dynamic fields allow to send single email messages containing some personalized content, through the same process MailUp uses for confirmation request emails and subscription confirmation emails. These messages - also called transactional emails - have a fixed structure with some personalized fields: for example, they can be used to send the user a password, a notice, an order confirmation, and so on.

MailUp can manage the whole process automatically, so:

MailUp can send transactional emails in two ways, as described below:. 

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 countless lists are available). 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. 

The 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 contents, thus making performance worse

Email messages sent to groups of users

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 suit to small automations, but if the goal is to send huge amounts of newsletters or DEMs the best practice to be followed is described below.

Standard Web Services

Some possible scenarios are presented here - with the indication of the web services to be used - as examples of frequent cases. This is not an exhaustive overview of all the possibilities anyway.

In the following examples the aspects regarding the authentication to web services are not approached. WS_MailUpImport authentication methods are different from the other web services. Please refer to the related documentation for details.

Example 1
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 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 > Table codes  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.


Do not use SendSingleNewsletter() in place of SendNewsletter(): the first one has to be used only for transactional emails, as described above

Example 2
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 huge this 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. The procedure described at (1) is less effective when there are huge 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. 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

The procedure described here can be used to send messages to the imported recipients using the email channel only

Example 3
It may be necessary to import to MailUp a message created using an external system. 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.

Methods creating a new message instead of using an existing one should not be overused. A large number of messages created by the web services (e.g. dozens of messages a day) might cause a system overload and worsen performances on the long term

Example 4
Most customers need to track campaign results. Considering that, when the same message is sent repeatedly (regardless of the number of recipients), the export of statistics via batch cannot associate the clicks to the corresponding mailing, making a copy of the message can be very useful so to have the detail of each sending. CloneMessage() method allows to clone a message: once the copy has been created, the sending can be performed as described above. 

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 folder containing several files with the recipients list, the html message to be sent and the sending details (date, time and so on).
This procedure allows to use MailUp to send messages without accessing the administration console.
Batch FTP ZIP integration is available at an extra charge; for technical details see FTP-based Integrations 

Web Service for massive mailings

The MailUp console can be configured to perform massive mailings with highly personalized content, through the use of web services. A special web service method is called, while parameters such as the recipient's email address and the body of the message are passed; then the MailUp console stores these calls and intermittently sends the stored messages in blocks. This procedure is suitable for high-volume mailings where sending all the emails within a certain deadline is paramount.