Pengguna baharuPelan DNS dan CDN percuma untuk setiap akaun baharu.Cipta akaun anda

Transactional & Marketing Mail

Send transactional and marketing email from your applications over SMTP or the HTTP API, with domain authentication, suppression lists and delivery events.

8 minit bacaan Dikemas kini 20 Okt 2026

Transactional & Marketing Mail is a sending-only email service. Your applications send through it over SMTP or the HTTP API: sign-up confirmations, password resets, receipts and alerts (transactional mail), or newsletters and promotions (marketing mail). Yeap Cloud signs each message with DKIM for your domain, delivers it, handles bounces and complaints, and reports every step back to you as events.

In the console it lives under Email sending in the Email section of the left-hand navigation (/tm/streams).

Note

This service only sends mail. It has no inbox and can't receive replies. To receive mail at your domain, use Domain Mailbox.

Key concepts

ConceptWhat it means
StreamsThe unit you buy. Each subscription creates one stream, and each stream has its own quota, API keys, sending log, webhook and SMTP host. You can have several streams, for example one per application.
Stream typeTransactional or Marketing. You choose it when you buy the stream and can't change it later. Marketing streams have extra requirements: a postal address, a mandatory unsubscribe link and stricter content scanning.
API keyA secret that starts with ytm_. It's the Bearer token for the HTTP API and also the SMTP password (the username is always apikey). It's shown only once, when you create it.
Sending domainThe domain in your From address. It must be verified (its DKIM record must be live) before you can send from it. A domain can be shared by all your streams or bound to one stream.
SandboxStreams on the free plan start in the sandbox (paid plans skip it): at most 100 emails a day, and only to verified recipient addresses or addresses at your own verified domains. The sandbox lifts when your account reaches credit level Lv2.
Credit levelYour account's sending reputation, from Lv0 to Lv6. It rises as you send clean mail over time. On the free plan it sets your monthly volume and hourly limit. On paid plans it scales the hourly limit and decides whether you can use marketing streams.
Suppression listAddresses that won't be sent to. Hard bounces and complaints are added automatically, unsubscribes are added per stream, and you can add or remove addresses yourself.
CategoryAn optional label for a message (category in the API, the X-Yeap-Category header over SMTP). Use it to filter the sending log and to let recipients unsubscribe from one kind of mail only.
Events and webhooksEvery message moves through statuses such as queued, delivered, bounced or complained. You can see them in the console, query them with the API, or receive them on your own HTTPS endpoint.

Plans

At the time of writing these plans are available. The New stream dialog in the console shows current prices and limits.

PlanPriceEmails per monthOver the included volumeSending domainsHourly limitMarketing mail
FreeFree0 included; level allowance only (100–3,000)Not allowed: sending stops until next month1By level (20–500)No
Basic¥39/month50,000¥0.80 per 1,00032,000 × level factorYes (Lv2 and up)
TM Pro¥129/month300,000¥0.60 per 1,0001010,000 × level factorYes (Lv2 and up)
TM Enterprise¥499/month2,000,000¥0.40 per 1,000Unlimited50,000 × level factorYes (Lv2 and up)
  • Free plan volume comes from your credit level: 100 emails a month at Lv1, rising to 3,000 at Lv6. An account can have only one free stream. Paid plans don't get this allowance: they include the volume in the table.
  • Hourly limit on paid plans is the plan value multiplied by your level factor: ×0.5 at Lv1, ×0.75 at Lv2, ×1 at Lv3, ×1.25 at Lv4, ×1.5 at Lv5 and ×2 at Lv6.
  • Annual billing costs 10 times the monthly price (¥390, ¥1,290 and ¥4,990 a year), so you get two months free.
  • One email = one recipient. A message sent to three recipients counts as three emails against the monthly volume and the hourly limit.
  • Overage is billed per started block of 1,000 emails. Each paid plan has a spending cap on unpaid overage (¥200, ¥1,000 and ¥5,000). When the cap is reached, sending stops until you pay the overage bill. See Limits, sandbox and compliance.
  • The free plan starts in the sandbox; paid plans skip it. The sandbox lifts when your account reaches Lv2.

Credit levels

Your account has a credit level from Lv0 to Lv6. New accounts start at Lv1. On the free plan, the level sets your monthly volume and hourly limit. On paid plans, it scales the hourly limit, marketing streams need Lv2 or higher, and Lv5 and Lv6 get slightly more tolerant automatic-pause thresholds. At Lv0 the account can't send. Levels are evaluated daily and go up one at a time as your account gets older, sends more delivered mail and keeps bounce and complaint rates low. Lv2 only needs a verified account email, one verified sending domain and an account at least 7 days old. An automatic pause lowers your level by one, and sending a virus drops it to Lv0.

The Trust level card on the Email sending page shows your current level, how much of this month's free allowance you've used (free plan), and what the next level requires. The full table is in Limits, sandbox and compliance.

Quick start

  1. Open Email sending and click New stream.

  2. Choose a plan, enter a Name such as my-app, and choose the Type: Transactional or Marketing. Marketing is only available on paid plans, and your account needs credit level Lv2 or higher to send marketing mail. If the plan offers several billing cycles, choose one under Billing cycle.

  3. Click Add to cart and pay at checkout. The stream appears in the list once payment is complete.

  4. Open the stream, go to the Sending domains tab and click Add domain. Enter the domain you want to send from, for example example.com or mail.example.com.

  5. In the DNS panel that opens, add the records. If the domain is hosted in Yeap Cloud DNS, click Add in one click. Otherwise, add the records at your DNS provider. See Sending domains and DNS.

  6. Click Verify. The domain shows Verified once its DKIM record is live.

  7. Go to the API key tab, click Create key, enter a name and copy the key. It's shown only once.

  8. Send a test message:

    bash
    curl -X POST https://api.tm.yeapcloud.net/v1/send \
      -H "Authorization: Bearer ytm_your_api_key" \
      -H "Content-Type: application/json" \
      -d '{
        "from": "Example <noreply@example.com>",
        "to": "you@example.com",
        "subject": "Hello from Yeap Cloud",
        "text": "It works."
      }'
  9. Open the Message log tab to follow the message from Queued to Delivered.

Tip

While the stream is in the sandbox, you can only send to addresses at your own verified domains or to addresses you've verified on the Sandbox recipients tab. Add your own address there first if you want to test with a mailbox at another provider.

The stream page

Click a stream in the list to open it. Depending on the stream, these tabs are available:

TabUse
OverviewMonthly usage, hourly allowance left, 7- or 30-day statistics (sent, delivery rate, bounce rate, complaint rate, opens, clicks), and the SMTP and HTTP API settings
API keyCreate and revoke API keys
Sending domainsAdd, verify and delete sending domains
Message logMessages from the last 30 days and the events of each one
Suppression listAddresses that won't be sent to
WebhookPush events to your own HTTPS endpoint
Marketing settingsMarketing streams only: postal address, categories, open and click tracking
Sandbox recipientsOnly while the stream is in the sandbox: recipient addresses you've verified for testing

Stream status

StatusMeaningSending
NormalNormalAllowed
PausedPaused automatically because bounce, complaint or spam levels were too high. The reason is shown on the stream.Refused with a temporary error. Contact support to resume.
DisabledThe subscription is suspended, for example because a renewal wasn't paidRefused until the subscription is active again
BannedA message contained a virus. All API keys of the stream were revoked.Refused. Contact support.

Next steps

Adakah halaman ini membantu?