SMTP relay

Apps that can't call an HTTP API — WordPress, older frameworks, printers and other devices — can hand their mail to SendNeo over SMTP. Every message goes through the same checks, limits, suppression list and logs as POST /emails, and shows up under Emails with its event timeline.

Settings

Setting Value
Host smtp.sendneo.yorkermedia.com
Port 587 or 2587 with STARTTLS, or 465 with TLS from the start
Username sendneo
Password a SendNeo API key (sn_live_…, or sn_test_… to simulate)
Authentication PLAIN or LOGIN, only after the connection is encrypted

Port 2587 is there for networks that block 587. A sending-only API key is the right password for an SMTP client.

How a message becomes an email

In your message In SendNeo
From header from — the domain must be verified for live keys
To and Cc headers to and cc, for the addresses that are also envelope recipients (RCPT TO)
Other envelope recipients bcc
Reply-To reply_to
Subject subject (required)
text/plain and text/html parts text and html
Attachments, and inline parts with a Content-ID attachments; inline images keep their cid: so the HTML still shows them
X-…, List-Unsubscribe, List-Unsubscribe-Post, In-Reply-To, References passed through as headers
X-SendNeo-Tags: order=4821; stream=receipts tags
Idempotency-Key: order-4821-receipt the idempotency key: a resent message returns the first email

Only the envelope recipients receive the message. If the To header names none of them (for example undisclosed-recipients:;), the first recipient is shown in To.

On success the server answers 250 2.0.0 Queued as <email id> — the same id GET /emails/{id} and the webhooks use.

Limits

  • At most 50 recipients per message; the 51st RCPT TO gets 452.
  • Messages up to about 16 MB, which leaves room for 10 MB of attachments once they are base64-encoded.
  • Up to 100 messages per connection; then the server answers 421 and the client reconnects.
  • After 10 failed logins in 15 minutes from one address, logins from it are refused for an hour.

Errors

The server answers with the API's own message, so the reason is in your mail log:

Reply Meaning
535 5.7.8 The username is not sendneo, or the key is not valid (or was revoked).
550 5.7.1 The key may not do this, the From domain is not verified, or the account cannot send yet.
550 5.6.0 The message is missing something the API requires, such as a subject.
451 4.7.1 Too many requests, or today's limit is reached: try again later.
552 The message is too large.

WordPress

In an SMTP plugin, choose "Other SMTP", host smtp.sendneo.yorkermedia.com, port 587, encryption TLS (STARTTLS), and turn authentication on with username sendneo and your API key as the password. Set the From address to one on your verified domain.