SMTP API

SMTP Connection parameters

  • host: either smtp.us1.unione.io or smtp.eu1.unione.io (for accounts registered at us1.unione.io and eu1.unione.io, respectively).

  • port465 for SSL connection and either 587 or 25 for TLS connection. We provide no support for unencrypted port 25 SMTP connections due to security reasons. Only encrypted SSL/TLS connections are supported.

  • username: <your user_id> (you can see it in upper left corner of the screen under your email after login). Later project_id will be supported, too.

  • password: <API key of your account>. Later project API keys will be supported, too.

  • encoding: connection encoding should be set to UTF-8

Extended features

You can use extended features of UniOne while sending thru SMTP, such as substitutions(merge tags), templates, link and read tracking.To access these features you should pass an extra header X-UNIONE with parameters in JSON format. Many parameters from email/send are supported together with extra parameter "global_language". E.g.:

{
  "global_language": "en",
  "template_engine": "velocity",
  "global_substitutions": {
    "DiscountCode":"XMAS",
    "Name": "John"
  },
  "global_metadata": {
    "meta-campaign": "transactional"
  },
  "track_links":1,
  "track_read":1,
  "skip_unsubscribe":0,
  "force_send":0
}

All supported X-UNIONE JSON parameters

Name Type Description
template_engine Optional string Sets the template engine for handling the substitutions. Accepts values: "simple" и "velocity". If the parameter is not passed, the system will use the default value - "simple"
global_language Optional string Language used for unsubscribe footer and unsubscribe page interface. "en" by default. 
global_substitutions Optional object Object for passing the substitutions (e.g., company name). If the substitution names are duplicated in object "substitutions", the values of the variables will be taken from the object "substitutions". The substitutions can be used in the following parameters:
  • body.html
  • body.plaintext
  • body.amp
  • subject
  • options.unsubscribe_url
  • from_name
global_metadata Optional object Object for passing the metadata, such as "key" : "value". Max key quantity: 10. Max key length: 64 symbols. Max value length: 1024 symbols. The metadata is returned by Webhook.
track_links Optional boolean
  • 0 - click tracking is off
  • 1 - click tracking is on (default)
track_read Optional boolean
  • 0 - email read tracking is off
  • 1 - email read tracking is on (default)
skip_unsubscribe Optional boolean
  • 0 - append a footer with unsubscription link to HTML body (default)
  • 1 - dont append a footer with unsubscription link to HTML body (but List-Unsubscribe header is still set if options.unsubscribe_url is not empty)

In order to use skip_unsubscribe=1 value you should ask support to enable it first.

force_send Optional boolean
  • 0 - avoid sending to unsubscribed/unreachable emails
  • 1 - send an email without respecting it's possible unsubscribed/unreachable status.

In order to use force_send=1 value please contact support to sign a special agreement anti-spam agreement.

 

Implementation details

Please note that unsubscribe link is automatically added to the footer of your email, unless you pass skip_unsubscribe=1 parameter in X-UNIONE header or ask support to disable unsubscribe link for all of your SMTP and API sent emails. Information about unsubscriptions can be obtained through webhooks or by calling unsubscribed/check and unsubscribed/list methods.

Also note that all recipients mentioned in "To:", "CC:", "BCC:" headers will receive separate copy of email and each copy will be counted as a separate email according to you subscription plan. All merge tags from global_substitutions parameter will be applied equally to each copy, so there's no reason to use multiple "To:" email addresses if you want to personalize emails with substitutions, you should just send separate emails.

Response

After the sending SMTP API returns Id which can be used as a value of job_id in webhooks.