Transactional Emails using APIs
User Management resources
Depending on the invoked method, user management resources may require different credentials and authentication methods.
Authentication type | References | Description |
---|---|---|
OAuth 2 | Authenticating with OAuth v2 | Standard OAuth 2 with access and refresh tokens. In the request you must add the following header: Authorization: Bearer {access_token} Note: OAuth 2 requires the MailUp account credentials, not SMTP+ username and password |
SMTP+ credentials in the request body | SMTP relay service | SMTP+ username and password must be included in each request through the "User" parameter inside the request body. "User":{"Username":"YourSmtpPlusUsername","Secret":"YourSmtpPlusPassword"} An error may be returned when the SMTP+ user is blocked. In this case you could use the "ListUserInfo" method to get more details about that user. For example, there could be a billing issue. |
Create a SMTP+ user
To access resources and to use the methods, you must have an active account with an enabled SMTP+ user (SMTP+ users have the "sNNNNN_NN" name format). You can create SMTP+ accounts and retrieve their credentials:
- from within the MailUp platform. See: SMTP Settings
- calling a REST API endpoint
In this page we explain how to create a SMTP+ account using the REST API endpoint.
Get priority codes
Description | Service method to get the enumerated types of the available priority levels |
---|---|
Authentication | OAuth 2 |
HTTP Method | GET |
URL | https://services.mailup.com/api/v1.1/rest/ConsoleService.svc/Console/SmtpPlusPriorities |
JSON request (example) | none |
JSON response (example) | |
Paging and filtering (example) | none |
Create a new user
Description | Before creating a SMTP+ user you have to define one or more trusted senders email and/or one or more trusted domains. To retrieve the list of trusted emails please refer to this page. Remember that you can create a SMTP+ user only if all the trusted senders you provide in the TrustedSenders field have the StatusCode property equals to 1 (Confirmed): you can find this information here. |
---|---|
Authentication | OAuth 2 |
HTTP Method | POST |
URL | https://services.mailup.com/api/v1.1/rest/ConsoleService.svc/Console/List/{id_list}/SmtpPlus |
JSON request (example) | { "IsEnabled": true, "Note": "Your notes", "PriorityCode": 2, "TrustedDomains": ["yourtrusteddomain.com"], "TrustedSenders": ["you@yourtrusteddomain.com"] } |
JSON response (example) | |
Paging and filtering (example) | none |
Reset password
Description | Reset the password for the specified SMTP+ user. MailUp is in charge of creating a new password and providing it in the response body |
---|---|
Authentication | OAuth 2 |
HTTP Method | POST |
URL | https://services.mailup.com/api/v1.1/rest/ConsoleService.svc/Console/List/{ID_LIST}/SmtpPlus/Reset |
JSON request (example) | { "Username": "<username>" } |
JSON response (example) | 200 OK { "CreationDate": "2017-08-11 07:42:45Z", "IdList": 2, "IsEnabled": true, "IsTrusted": true, "Note": "My notes", "Password": "<the new password>", "PriorityCode": 3, "SmtpPlusEncryption": "NONE, STARTTLS", "SmtpPlusPort": "25, 80, 1025-5000", "SmtpPlusServer": "fast.smtpok.com", "TrustedDomains": [], "TrustedSenders": [ "you@yourtrusteddomain.com" ], "UpdateDate": "2017-08-11 08:44:50Z", "Username": "<username>" } If something goes wrong: 404 NotFound { "ErrorCode": "404", "ErrorDescription": "Account not found.", "ErrorName": "NotFound", "ErrorStack": "" } |
Paging and filtering (example) | none |
Get SMTP+ users
Use ListUserInfo to retrieve status details about current SMTP+ user or other SMTP+ users that belong to the same List of a specified MailUp account.
ListUserInfo
Description | This method returns the list of SMTP+ users that exist in the List of a specified MailUp account. Status details of each user are provided |
---|---|
Authentication | SMTP+ credentials in the request body |
HTTP Method | POST |
URL | https://send.mailup.com/API/v2.0/users/listuserinfo |
Reference | |
JSON request (example) | {"User":{"Username":"sNNNN_NN","Secret":"..."},"Username":"sMMMM_MM"} |
JSON response (example) | Example of a successfulresponse:{ Example of error: { "Status":"error", |
Send resources
All the send resources are accessed using SMTP+ credentials
Authentication type | References | Description |
---|---|---|
SMTP+ credentials in the request body | SMTP relay service | SMTP+ Username and password must be included in each request through the "User" parameter inside the request body. "User":{"Username":"YourSmtpPlusUsername","Secret":"YourSmtpPlusPassword"} An error may be returned when the SMTP+ user is blocked. In this case you could use the "ListUserInfo" method to get more details about that user. For example, there could be a billing issue. |
Messages
This section includes the methods that can be used to send transactional emails.
Use SendMessage when you need to specify a completely different content for each message, while you can use SendTemplate - and use merge tags - if you want to pick the body of an existing content and simply customize some of its parts.
The two methods provide the same level of performance: pick the one that better fits your needs.
Using a reply-to address different from the sender address
The use of a reply-to address different from the FROM email address must be enabled by MailUp. If you need this, please contact our support team by writing an email to support@mailup.com.
SendMessage
Description | This method allows sending of a transactional message to multiple recipients. This method is not intended for bulk mailings. The message content is passed as input with HTML code or plain text. The message may also include attachments and embedded images. |
---|---|
Authentication | SMTP+ credentials in the request body |
HTTP Method | POST |
URL | https://send.mailup.com/API/v2.0/messages/sendmessage |
Reference | |
JSON request (example) | |
JSON response (example) | Example of a successful response:{ "Status":"done",Example of error: { "Status":"error", |
SendTemplate
Description | This method allows sending of a transactional message to multiple recipients, taking advantage of placeholders to customize content. This method is not intended for bulk mailings. The message content (both HTML body and plain text) is obtained by specifying the unique ID of a message previously created and stored in the MailUp admin console. The message may also include attachments and embedded images. Only lowercase placeholders must be used in the referenced messages. If you use capital letters (e.g. "Dear [FirstName]", the text is not replaced. If you edit an email message already sent, wait 15 minutes before sending out the modified message. This time is needed to update the cache |
---|---|
Authentication | SMTP+ credentials in the request body |
HTTP Method | POST |
URL | https://send.mailup.com/API/v2.0/messages/sendtemplate |
Reference | |
JSON request (example) | |
JSON response (example) | Example of a successfulresponse:{ "Status":"done", Example of error: { "Status":"error", |
Error codes
This table lists the response codes that can be returned by the API methods whose authentication method consists of SMTP+ credentials in the request body.
HTTP response code | Application Code | Description |
---|---|---|
200 | 0 | Ok |
400 | 1 | The operation failed. |
403 | 101 | The input is null. |
403 | 102 | The operation is not authorized. |
403 | 103 | The user is not enabled. |
403 | 104 | The user is blocked. |
403 | 105 | The user is blocked until this date. |
403 | 106 | The MailUp account cannot be found. |
403 | 107 | The MailUp account has been suspended. |
403 | 108 | The MailUp account has been deleted. |
403 | 109 | At least one recipient is required. |
403 | 110 | The sender is required. |
403 | 111 | The template cannot found. |
403 | 112 | The user has been deleted. |