Přejít na obsah
Dokumentace

Průvodce

Přejděte z Amazon SES na Emailit. Namapujte identity, sandbox a kvóty, nahraďte volání SDK a přístupové údaje k SMTP a události SNS převeďte na podepsané webhooky.

Aktualizováno 1. 10. 2026

Tento průvodce mapuje pojmy, volání API, oznámení o událostech, blokované adresy a šablony z Amazon SES na jejich ekvivalenty v Emailitu. Celkové pořadí a souběžný provoz obou poskytovatelů popisuje stránka Přechod na Emailit, přečtěte si ji jako první.

Principy

Amazon SES Emailit
Účet AWS v regionu Workspace
Verified identities: domény a e-mailové adresy Odesílací domény. Identity tvořené jednou e-mailovou adresou nejsou dostupné.
CNAME záznamy Easy DKIM Jeden TXT záznam DKIM, emailit._domainkey
Custom MAIL FROM domain Return path emailit.<your domain>, který má každá doména
Sandbox a žádost o production access Režim sandbox a produkční přístup. V režimu sandbox můžete odesílat na e-maily účtů členů workspace.
Sending quota a maximum send rate Limity odesílání: e-maily za sekundu a za den, obnovují se o půlnoci UTC
Přístupové údaje IAM a podpis SigV4 API klíče v hlavičce Authorization: Bearer
SMTP credentials Váš API klíč použitý jako heslo k SMTP
Configuration sets a event destinations (SNS, EventBridge, Firehose) Webhooky, které posílají podepsaný JSON na váš endpoint HTTPS
Account-level suppression list Seznam blokovaných adres workspace
Email templates Šablony s aliasem a verzemi
Receipt rules Příchozí e-maily s webhookem email.received
Email tags meta
Dedicated IPs Dedikované IP adresy na vyžádání
Contact lists Kontakty, seznamy kontaktů a kampaně

Upravte volání API

Volání SES se podepisují vašimi přístupovými údaji AWS, takže je obvykle provádíte přes AWS SDK. V Emailitu odešlete požadavek JSON s API klíčem, nebo použijete SDK Emailitu pro svůj jazyk. V Node.js:

Před: Amazon SES (AWS SDK v3)
import { SESv2Client, SendEmailCommand } from '@aws-sdk/client-sesv2';

const ses = new SESv2Client({ region: 'eu-west-1' });

await ses.send(new SendEmailCommand({
  FromEmailAddress: 'Acme <hello@acme.com>',
  Destination: { ToAddresses: ['ada@example.com'] },
  Content: {
    Simple: {
      Subject: { Data: 'Your receipt' },
      Body: {
        Text: { Data: 'Thanks for your order.' },
        Html: { Data: '<p>Thanks for your order.</p>' },
      },
    },
  },
}));
Po: Emailit
import { Emailit } from '@emailit/node';

const emailit = new Emailit(process.env.EMAILIT_API_KEY);

await emailit.emails.send({
  from: 'Acme <hello@acme.com>',
  to: 'ada@example.com',
  subject: 'Your receipt',
  text: 'Thanks for your order.',
  html: '<p>Thanks for your order.</p>',
});
Amazon SES (API v2 SendEmail) Emailit (POST /v2/emails)
Přístupové údaje AWS a podpis SigV4 Authorization: Bearer secret_…
FromEmailAddress from
Destination.ToAddresses, CcAddresses, BccAddresses to, cc, bcc, každé až 50
ReplyToAddresses reply_to
Content.Simple.Subject.Data subject
Content.Simple.Body.Html.Data, Text.Data html, text
Content.Template.TemplateName template, alias nebo ID
Content.Template.TemplateData (řetězec JSON) variables (objekt JSON)
Content.Raw (celá zpráva MIME) Odešlete zprávu MIME přes SMTP relay, nebo ji sestavte znovu z html, text a attachments
EmailTags meta, vrací se v událostech webhooků
ConfigurationSetName Není potřeba. Události chodí na vaše webhooky a měření se nastavuje pro doménu nebo pro jednotlivý e-mail přes tracking.
Odpověď MessageId 200 s id (em_…), message_id, status: "accepted" a ids pro jednotlivé příjemce

Emailit navíc podporuje plánování přes scheduled_at a bezpečné opakování požadavků s hlavičkou Idempotency-Key, což SES při odesílání nenabízí. Viz Odeslání e-mailu.

Změňte nastavení SMTP

Nastavení Amazon SES Emailit
Server email-smtp.<region>.amazonaws.com smtp.emailit.com
Port 587, 2587 nebo 25 (STARTTLS), 465 nebo 2465 (TLS) 587, 2587, 2525 nebo 25 (STARTTLS), 465 (TLS)
Uživatelské jméno Vaše uživatelské jméno SMTP v SES emailit
Heslo Vaše heslo SMTP v SES Váš API klíč Emailitu

Emailit nečte hlavičky SES, například X-SES-CONFIGURATION-SET. Odstraňte je. Viz Nastavení SMTP.

Namapujte oznámení o událostech

SES publikuje události přes configuration sets do SNS, EventBridge nebo Firehose. Emailit je posílá přímo na váš endpoint HTTPS jako webhooky, takže není potřeba odebírat ani potvrzovat žádné téma.

Typ události SES Událost Emailitu
Send email.accepted (jen API)
Delivery email.delivered
DeliveryDelay email.attempted
Bounce s bounceType Permanent email.bounced
Bounce s bounceType Transient email.attempted, dokud Emailit opakuje doručení, pak email.bounced, pokud selžou všechny pokusy
Complaint email.complained
Open email.loaded
Click email.clicked
Subscription email.unsubscribed, jen u e-mailů z kampaní
Reject, Rendering Failure Bez přímého ekvivalentu. Chyby v požadavku, například chybějící šablonu, vrací API hned a zprávy, které Emailit nedoručí, dostanou stav held.
Receipt rule s akcí SNS nebo Lambda email.received, pak načtěte obsah přes GET /emails/{id}

Mění se i obsah událostí:

  • Každý požadavek Emailitu je pole JSON s až 100 událostmi, s názvem v type a e-mailem v data.object.
  • Místo messageId ze SES používejte data.object.id, ID em_ z odpovědi na odeslání. Vaše hodnoty meta jsou v data.object.meta.
  • Místo kontroly podpisů zpráv SNS ověřujte X-Emailit-Signature vůči X-Emailit-Timestamp a vašemu tajnému klíči whsec_. Viz Podpis požadavku.
JavaScript
for (const event of req.body) {
  const email = event.data.object;
  if (event.type === 'email.bounced') markBounced(email.to, email.id);
  if (event.type === 'email.complained') unsubscribe(email.to);
}

Přesuňte blokované adresy

  1. Vyexportujte account-level suppression list ze SES pomocí AWS CLI. Pokud výstup obsahuje NextToken, opakujte příkaz s --next-token, dokud nebudete mít všechny stránky.

    Terminal
    aws sesv2 list-suppressed-destinations --output json \
      | jq -r '(["email","type","reason"] | @csv),
               (.SuppressedDestinationSummaries[] | [.EmailAddress, "recipient", ("ses " + .Reason)] | @csv)' \
      > suppressions.csv

    Tím vznikne CSV se sloupci email,type,reason. Každý řádek používá typ recipient, který blokuje odeslání přes API, SMTP i kampaně na danou adresu.

  2. Pokud si vedete vlastní seznam nedoručení a stížností z oznámení SNS, přidejte i tyto adresy.

  3. V Email APISuppressions vyberte Import a nahrajte soubor. Každý soubor může mít až 10 000 řádků a nejvýše 8 MB. Duplicity se přeskočí.

Viz Správa blokovaných adres.

Přesuňte šablony

Každou šablonu načtěte příkazem aws sesv2 get-email-template --template-name <name> a pak naimportujte její HTML v Email MarketingTemplates, nebo ji vytvořte přes API pro šablony. Jako alias v Emailitu použijte název šablony ze SES, pokud odpovídá formátu aliasu: malá písmena, číslice, - a _.

Šablony SES používají značky ve stylu Handlebars. Temple pokrývá běžné části:

Amazon SES Emailit (Temple)
{{name}}, {{user.name}} Stejně
{{#if plan}}…{{else}}…{{/if}} Stejně
{{#each items}}…{{/each}} Nepodporuje se. Vykreslete seznam ve svém kódu a předejte ho jako jednu proměnnou.
TemplateData jako řetězec JSON variables jako objekt JSON
Bez vestavěné výchozí hodnoty {{name|"there"}} přidá náhradní hodnotu

Temple nikdy neescapuje HTML, proto vstupy od uživatelů escapujte dřív, než je předáte. Viz Temple.

Změňte DNS

Přidejte doménu v Email APIDomains a publikujte záznamy Emailitu. Používají vlastní názvy (emailit._domainkey, emailit.<domain> a volitelně go a inbound), takže nejsou v konfliktu s CNAME záznamy Easy DKIM ze SES ani se subdoménou custom MAIL FROM. Záznam DMARC ponechte. Viz DNS záznamy odesílacích domén.

Po přepnutí provozu odstraňte CNAME záznamy DKIM ze SES a záznamy custom MAIL FROM a smažte identity v SES. Pokud přijímáte poštu přes receipt rules v SES, přesuňte ji nejdřív na příchozí subdoménu Emailitu.

Další kroky

Byla tato stránka užitečná?

Děkujeme za zpětnou vazbu.

Děkujeme, čteme každou zprávu.