Behind the screen
Email and notifications
Apps need to reach people outside the app: a password reset, an order confirmation, a login code, a delivery update. Each channel has its own plumbing. Email travels between mail servers, push notifications go through Apple's and Google's push services, and SMS and WhatsApp messages pass through mobile operators and Meta.
Most products use a specialist service for each channel rather than running their own servers, because the hard part is getting delivered: inboxes filter spam, phones limit what apps may send, and India requires registration for business SMS. This page covers those services, the DNS records that keep email out of spam, and what each kind of message costs.
15 terms · 2 comparisons · prices checked September 2026
15 terms, click any to open
SMTP
ProtocolThe standard protocol mail servers use to pass email to each other, and a common way for apps to hand their emails to a sending service.
SMTP (Simple Mail Transfer Protocol) dates from 1982 and still carries email between servers today. A sending server looks up the recipient domain's MX records in DNS, connects to that mail server on port 25 and hands over the message. Apps and mail programs submit mail to their own provider on port 587 (upgraded to encryption with STARTTLS) or 465 (encrypted from the start), logging in with a username and password.
Every sending service (Resend, SendGrid, Amazon SES, Postmark) offers an SMTP relay, so frameworks, WordPress plugins and older software can send without custom code, and each also offers an HTTP API, which is usually quicker to call and returns clearer errors. Many clouds block outgoing port 25 to fight spam, one more reason apps send through a relay. SMTP only sends mail; reading a mailbox uses IMAP or POP3.
Related
Also called: Simple Mail Transfer Protocol, SMTP relay, port 587, mail server
Transactional email
ConceptAutomatic emails sent to one person because of something they did, such as signing up, resetting a password, paying or asking for a login link.
Transactional email is triggered by an event in the app and expected by the person receiving it, so people look out for it. Marketing or bulk email goes to many people at once and needs consent and an unsubscribe link. Keeping the two apart, on separate streams, IP addresses or subdomains, stops a badly received campaign from dragging password resets into spam.
Apps build these emails from templates (React Email, MJML or the provider's own editor) and send them through an API such as Resend, Postmark, Amazon SES or SendGrid, often from a background job so a slow send never holds up the page. Good habits: a real reply-to address, a plain-text version alongside the HTML, and short-lived links for resets and logins.
Related
Also called: app email, system email, triggered email, notification email
Resend
ServiceFree tierA developer-focused email API for sending app emails, known for quick setup and for React Email, which builds emails from React components.
Resend comes from the team behind React Email, an open-source library for writing emails as React components that render to HTML most email programs display correctly. Sending is a single API call or SMTP, with SDKs for Node.js, Python, PHP, Ruby, Go, Rust, Java and more, and guides for Next.js and serverless platforms.
You verify a domain by adding the DNS records it shows (SPF and DKIM, plus DMARC if you choose), then send from any address on that domain. Webhooks report deliveries, bounces, complaints and opens; Broadcasts cover newsletters on separate plans billed by contacts; and inbound email can be received and passed to your app. Each To, CC or BCC recipient counts as a separate email.
Pros
- Quick to set up, with clear docs and SDKs for most languages
- React Email makes templates easy to build and preview
- Free plan covers small apps and side projects
- Webhooks and logs make each email easy to trace
Cons
- Free plan stops at 100 emails a day
- Younger than SendGrid or SES, with a shorter track record
- Costs more per email than SES at high volume
Pick it when
- JavaScript or TypeScript apps, especially on Next.js
- You want password resets and receipts working in an afternoon
- Your team likes writing email templates as React components
Skip it when
- You send millions of emails a month and cost per email matters most
What it costs · Free tier
Free for 3,000 emails a month (at most 100 a day). Pro is $20 a month for 50,000 emails, then $0.90 per 1,000; Scale starts at $90 a month. Marketing email is billed by contacts.
Resend pricing (opens in a new tab)Approximate, checked September 2026.
Also called: Resend API, React Email
SendGrid
ServicePaidA long-established email platform, owned by Twilio, that sends both app emails and marketing campaigns at large scale.
SendGrid started in 2009 and Twilio has owned it since 2019. It offers an Email API and SMTP relay for app email, dynamic templates, event webhooks, Inbound Parse (which turns received email into webhook calls), suppression management and deliverability tools, plus a separate Marketing Campaigns product with contact lists, a visual editor, sign-up forms and automations.
Its size is both the appeal and the catch. It handles very large volumes and integrates with most platforms, but new accounts go through checks meant to keep spammers out, and on shared IP addresses your delivery depends partly on how other senders behave unless you pay for a dedicated IP. The permanent free plan ended in 2025 and was replaced by a 60-day trial.
Pros
- Handles very large volumes, for app and marketing email alike
- Mature tooling: templates, Inbound Parse, webhooks and suppressions
- Integrations with most CRMs, shop platforms and frameworks
Cons
- No permanent free plan, only a 60-day trial
- More setup and a busier dashboard than newer services
- On shared IP addresses, delivery depends partly on other senders
Pick it when
- One account must cover app email and marketing campaigns
- Large or growing volume that needs dedicated IPs and subuser accounts
Skip it when
- A small app that only sends password resets and receipts
What it costs · Paid
A 60-day free trial allows 100 emails a day. Essentials starts at $19.95 a month and Pro, which includes a dedicated IP, at $89.95; prices rise with volume. Marketing Campaigns is billed separately.
SendGrid pricing (opens in a new tab)Approximate, checked September 2026.
Also called: Twilio SendGrid, SendGrid Email API, SendGrid Marketing Campaigns
Amazon SES
ServicePay as you goAmazon's email sending service, built for large volumes at a low price per email, with fewer ready-made tools than dedicated email providers.
SES (Simple Email Service) is part of AWS. You verify a domain, send through its API or SMTP interface, and receive feedback through other AWS services: bounces, complaints and deliveries arrive as events through SNS or EventBridge. SES keeps a suppression list of addresses that bounced or complained, and offers templates, dedicated IPs, a deliverability dashboard (Virtual Deliverability Manager) and inbound email through Mail Manager.
New accounts start in a sandbox that can only send to verified addresses, up to 200 emails a day, until AWS approves a request for production access, which asks how you collect addresses and handle bounces. Since July 2026 new accounts begin on a bundled Essentials plan; the older pay-per-use à la carte pricing is still available and is cheaper for plain sending.
Pros
- Very low cost per email at any volume
- Scales to huge volumes on AWS infrastructure
- Fits neatly into apps already running on AWS
Cons
- Sandbox approval before you can email real users
- Alerts and analytics need wiring through other AWS services
- The AWS console and permissions (IAM) take time to learn
Pick it when
- High-volume sending where cost per email matters
- Your backend already runs on AWS
Skip it when
- A small team that wants templates, logs and support ready to use
What it costs · Pay as you go
About $0.10 per 1,000 emails on à la carte pricing, or $0.16 on the Essentials plan new accounts start on, plus $0.12 per GB of attachments. No SES free tier for new customers; new AWS accounts get credits.
Amazon SES pricing (opens in a new tab)Approximate, checked September 2026.
Also called: SES, AWS SES, Simple Email Service
Postmark
ServiceFree tierAn email service focused on fast, reliable delivery of app emails such as password resets and receipts, with bulk mail kept on a separate stream.
Postmark splits transactional and broadcast (bulk) email into separate message streams, and broadcasts go out from separate IP addresses, so a newsletter never slows down or taints a login code. It offers an API and SMTP, templates with shared layouts, 45 days of full message history by default, detailed bounce data, inbound email turned into JSON and sent to a webhook, and public delivery-time statistics.
It is known for strict rules: it does not accept purchased lists or cold outreach, and a new account can only email addresses on its own domain until Postmark approves it. ActiveCampaign has owned it since 2022. Plans are priced by monthly volume rather than by contacts, with no daily sending limit.
Pros
- Strong focus on getting app emails delivered quickly
- Transactional and bulk email kept on separate streams
- Clear logs and 45 days of message history by default
- Helpful docs, templates and inbound email handling
Cons
- Costs more per email than SES or Resend at higher volumes
- The free plan's 100 emails a month only suit testing
- Strict content rules rule out cold email and bought lists
Pick it when
- Login codes, password resets and receipts must arrive within seconds
- You want transactional and marketing email clearly separated
Skip it when
- Very high volume, where price per email decides
- Cold outreach or bought lists, which it does not allow
What it costs · Free tier
Free Developer plan with 100 emails a month for testing. Basic starts at $15 a month for 10,000 emails (extra $1.80 per 1,000); Pro starts at $16.50 and Platform at $18.
Postmark pricing (opens in a new tab)Approximate, checked September 2026.
Also called: Postmark App, postmarkapp
Email trust
SPF, DKIM and DMARC
ProtocolThree DNS records that prove an email really comes from your domain, which the big inbox providers now require before they will deliver mail reliably.
SPF (Sender Policy Framework) is a TXT record listing the servers allowed to send mail for a domain. DKIM (DomainKeys Identified Mail) adds a cryptographic signature to each message, checked against a public key published in DNS, so tampering shows. DMARC ties both to the visible From address and tells receivers what to do when checks fail (p=none to monitor, quarantine or reject) and where to send reports.
Since February 2024, Gmail and Yahoo have required SPF or DKIM from every sender, and all three, plus one-click unsubscribe on marketing mail, from anyone sending more than 5,000 messages a day to their users; Microsoft set similar rules for Outlook.com in 2025. Email services show the exact records to add when you verify a domain. Once DMARC is enforced, BIMI can show a brand logo beside messages in some inboxes.
Related
Also called: SPF, DKIM, DMARC, email authentication, BIMI
Email deliverability
ConceptHow reliably your emails land in the inbox rather than in spam or nowhere at all, which depends on your domain's reputation as much as on the message.
Inbox providers such as Gmail and Outlook score every message using the sending domain's and IP address's history, authentication (SPF, DKIM, DMARC), how recipients react (opens, replies, spam reports) and the content itself. A high bounce rate from old or mistyped addresses, or spam complaints above about 0.3% (the limit Gmail publishes), quickly pushes mail into spam.
Habits that help: send only to people who asked for it, confirm sign-ups, remove bounced addresses automatically, keep marketing on a separate subdomain or stream from password resets, warm up a new domain or dedicated IP by raising volume gradually, and put a working unsubscribe link in anything promotional. Google Postmaster Tools shows how Gmail sees your domain.
Also called: inbox placement, sender reputation, spam folder, bounce rate, IP warm-up
Push
Push notifications
ConceptShort alerts an app or website can show on a phone or computer even when it is not open, such as a new message, a delivery update or a reminder.
The app asks the user for permission, and the operating system gives it a device token, an address for that app on that device. The app sends the token to your server. To notify the user, the server sends a message with the token to the platform's push service (APNs for Apple devices, FCM for Android, the browser's push service on the web), which delivers it and wakes the app if needed.
Permission is the gate: iOS has always asked, Android asks from version 13, and people who get too many alerts switch them off or uninstall. Messages can be visible notifications or silent data messages that update the app in the background, and delivery is not guaranteed. Services such as OneSignal and Expo's push service wrap the platforms behind one API.
Also called: push, mobile notifications, device token, notification permission
Firebase Cloud Messaging (FCM)
ServiceFreeGoogle's free service for sending push notifications and data messages from a server to Android, iOS and web apps.
An app registers with FCM through the Firebase SDK and receives a registration token. Your server sends messages to the FCM HTTP v1 API, authenticated with a short-lived OAuth token from a service account, addressed to one token, a topic that devices subscribe to, or a condition across topics. On Android, FCM delivers through Google Play services; on iOS it forwards to APNs using an APNs key you upload; on the web it uses the browser's web push.
Messages come in two kinds: notification messages, which the system shows automatically when the app is in the background, and data messages, which your own code handles. Payloads are limited to 4 KB. The legacy API, which used a fixed server key, was switched off in 2024, so older tutorials need updating. Battery savers on some Android phones can delay delivery to apps that are not in use.
Pros
- Free, with no charge per message
- One API for Android, iOS and web
- Topics and conditions make sending to groups simple
Cons
- Delivery timing is not guaranteed, especially with aggressive battery savers
- iOS still needs an Apple developer account and an APNs key
- Ties your push setup to a Google project
Pick it when
- Almost any Android app that needs notifications
- One backend that notifies Android, iOS and web users
Skip it when
- An iOS-only app that can talk to APNs directly
What it costs · Free
Free, with no charge per message. Other Firebase or Google Cloud services used alongside it are billed separately.
Firebase Cloud Messaging (FCM) pricing (opens in a new tab)Approximate, checked September 2026.
Also called: FCM, Firebase Messaging, GCM, Google Cloud Messaging
Open Firebase Cloud Messaging (FCM) as a pageOfficial site (opens in a new tab)
APNs
ServiceFreeApple's service that delivers push notifications to iPhones, iPads, Macs and Apple Watches; every notification to an Apple device passes through it.
Your server opens an HTTP/2 connection to APNs and sends a JSON payload (up to 4 KB) addressed to a device token. It authenticates with a signed token (a JWT) made from a .p8 key in your Apple Developer account, which works for all your apps, or with older per-app certificates that must be renewed every year. There are separate sandbox and production environments, and a token from a development build only works with the sandbox.
APNs also carries silent background updates, incoming call alerts and Live Activity updates. Apple limits how often background pushes wake an app, to protect battery life, and users control alerts for each app in Settings. Services such as FCM and OneSignal still hand iOS notifications to APNs behind the scenes.
What it costs · Free
Free to send. Push credentials need an Apple Developer Program membership, which costs 99 USD a year.
APNs pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: Apple Push Notification service, Apple push notifications, .p8 key, push certificate
Web push
APIFreeThe browser standard that lets a website send notifications to visitors who opted in, even after they have closed the tab.
A site registers a service worker and calls the Push API, and the browser asks the visitor for permission. The browser returns a subscription (a push service URL plus encryption keys) that the site stores on its server. To notify, the server sends an encrypted message to that URL, signed with the site's VAPID key pair; the browser maker's push service delivers it, and the service worker shows the notification.
It works in Chrome, Edge, Firefox and Safari. On iPhone and iPad (iOS 16.4 and later) it only works for sites the user has added to the Home Screen as a web app. Browsers expect the permission request to follow a click rather than appear on page load, and libraries such as web-push for Node.js handle the encryption and signing.
What it costs · Free
Free. Browser push services deliver messages at no charge; you only pay for the server that sends them.
Approximate, checked September 2026.
Related
Also called: Push API, Web Push Protocol, VAPID, browser notifications
SMS and chat
SMS gateways
ServicePay as you goA service that lets your server send text messages to phone numbers through the mobile networks, used for login codes, alerts and delivery updates.
Your server calls the gateway's API with a phone number and a message; the gateway routes it to the mobile operators and reports delivery back through a webhook or a status API. Messages are charged per segment: 160 plain characters, or 70 when the text uses emoji or Indian scripts. Twilio, Vonage, Plivo and Infobip work worldwide; MSG91, Gupshup and similar providers focus on India, often with ready-made OTP widgets.
India adds DLT (distributed ledger technology) registration under TRAI rules. A business registers as a principal entity on an operator's DLT portal (Jio, Airtel, Vi or BSNL), then registers its sender IDs (six-character headers) and every message template, with placeholders for the parts that change. Messages that do not match an approved template are blocked, links must be whitelisted, and since 2025 headers carry a suffix such as -S or -T that shows the message type.
The first portal charges a registration fee of about ₹5,000 plus GST. International routes skip DLT but deliver from random numbers. Prices vary widely: Twilio lists about $0.083 a message to India, while Indian providers charge a fraction of a rupee. Some apps send login codes over WhatsApp first and fall back to SMS.
Pros
- Reaches any mobile phone, with no app or data connection needed
- Familiar to users for login codes and alerts
- Simple API with delivery reports
Cons
- Every message costs money, unlike push or email
- India requires DLT registration of the business, headers and templates
- SMS codes can be stolen through SIM swaps or phishing
- Delivery speed varies by operator and route
Pick it when
- Login codes and alerts for people who may not have your app
- Critical messages that must reach basic phones
Skip it when
- Marketing blasts, where cost and spam rules add up
- The user already has your app and a push notification would do
What it costs · Pay as you go
In India, providers such as MSG91 charge about ₹0.16 to ₹0.25 per SMS plus GST, falling with volume; Twilio lists about $0.083 per SMS to India. DLT registration is a separate fee.
SMS gateways pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: SMS API, bulk SMS, A2P SMS, DLT, Twilio, MSG91
WhatsApp Business Platform
ServicePay as you goMeta's platform for businesses to send and receive WhatsApp messages from their own systems, such as order updates, login codes and support chats.
A business verifies itself with Meta, registers a phone number and uses the Cloud API, which Meta hosts, either directly or through a Business Solution Provider (BSP) such as Twilio, Gupshup, Interakt or MSG91 that adds a dashboard and its own fees. Messages to people who have not written in recently must use templates approved in advance, in three categories: marketing, utility (order and account updates) and authentication (login codes).
When a user messages the business, a 24-hour customer service window opens, and free-form replies are allowed inside it. Since July 2025, Meta has charged per delivered template message, with the rate set by category and by the recipient's country. From 1 October 2026, service replies are charged too, after 1,000 free a month per business number, and utility templates sent inside the window are no longer free.
People must opt in before a business messages them. New numbers start with a daily limit on how many people they can contact first, which rises while the number's quality rating stays good; blocks and reports lower that rating.
Pros
- Two-way chat with buttons, images, documents and quick replies
- Utility and login messages cost less than SMS in India
- A verified business name and profile help people trust the sender
- Delivery and read receipts show whether a message landed
Cons
- Templates need Meta's approval before use
- Marketing messages cost about ₹0.86 each in India
- Only reaches people who use WhatsApp and have opted in
- Meta can change prices each quarter
Pick it when
- Order, delivery and appointment updates for customers in India
- Login codes, with SMS as a fallback
- Customer support that should feel like a normal chat
Skip it when
- You want to message people who have not opted in
- Bulk promotions on a tight budget
What it costs · Pay as you go
Charged per delivered template by category and country. India: about ₹0.86 per marketing message and ₹0.115 per utility or authentication message; from October 2026 service replies cost ₹0.115 after 1,000 free a month.
WhatsApp Business Platform pricing (opens in a new tab)Approximate, checked September 2026.
Related
Also called: WhatsApp Business API, WhatsApp Cloud API, WABA, message templates, BSP
Open WhatsApp Business Platform as a pageOfficial site (opens in a new tab)
Telegram bots and Discord webhooks
ServiceFreeFree ways to post automatic messages into a Telegram chat or a Discord channel, handy for order alerts, sign-up pings and error reports sent to a team.
A Telegram bot is created by messaging @BotFather, which returns a token; your server then calls the Bot API over HTTPS (sendMessage with a chat id) to post into a private chat, group or channel. Bots can only message people who have started a chat with them first, and Telegram asks bots to stay under about 30 messages a second overall and 20 a minute in any one group.
A Discord webhook is a secret URL created in a channel's settings; posting JSON to it (text, embeds, a name and an avatar) drops a message into that channel with no bot account needed. Slack's incoming webhooks work the same way. They suit internal alerts rather than customers: anyone holding the URL or token can post, so keep it in environment variables, and expect rate limits during bursts.
What it costs · Free
Free. Telegram's Bot API and Discord webhooks cost nothing, within their rate limits.
Approximate, checked September 2026.
Related
Also called: Telegram Bot API, Discord webhooks, Slack incoming webhooks, BotFather
Open Telegram bots and Discord webhooks as a pageOfficial site (opens in a new tab)
Side by side
Differences
How the options in this area compare on the questions that usually decide the choice.
Resend vs SendGrid vs Amazon SES vs Postmark
Open as a page: Resend vs SendGrid vs Amazon SES vs PostmarkFour common ways to send email from an app. All offer an API and SMTP and help you set up SPF and DKIM; they differ in price, tooling and how much work they leave to you.
| Compare | Resend | SendGrid | Amazon SES | Postmark |
|---|---|---|---|---|
| What it is | Developer-first email API | Large email platform owned by Twilio | AWS's low-cost sending service | Email service focused on app mail |
| Best for | JavaScript apps and small teams | App mail plus marketing at scale | High volume, especially on AWS | Login codes, resets and receipts |
| Free allowance | 3,000 emails a month (100 a day) | 60-day trial, 100 emails a day | None of its own; AWS credits for new accounts | 100 emails a month for testing |
| Entry paid plan | $20 a month for 50,000 emails | Essentials from $19.95 a month | About $0.10 per 1,000 emails (à la carte) | From $15 a month for 10,000 emails |
| Setup effort | Low: DNS records and an API key | Moderate, with account checks | Higher: sandbox, IAM and event wiring | Low, after account approval |
| Tooling | Logs, webhooks, React Email | Templates, Inbound Parse, marketing tools | Basic console; extras through AWS | Templates, 45-day history, inbound |
| Marketing email | Broadcasts, billed by contacts | Marketing Campaigns, billed separately | Possible, with no campaign tools | Broadcast streams in the same account |
| Watch out for | 100-a-day cap on the free plan | No permanent free plan | Sandbox until AWS approves you | Higher price per extra email |
How to choose
- Pick Resend for a JavaScript or TypeScript app that needs email working quickly, with a free plan that covers small projects.
- Pick Postmark when password resets and receipts must arrive fast and be easy to trace.
- Pick Amazon SES for large volumes, especially on AWS, and accept more setup work.
- Pick SendGrid when one account must cover both app email and marketing campaigns at scale.
Push vs email vs SMS vs WhatsApp
Open as a page: Push vs email vs SMS vs WhatsAppThe four main ways an app reaches people. They differ in cost, reach and how quickly people notice, so most products mix them by message type.
| Compare | Push | SMS | ||
|---|---|---|---|---|
| Reaches | People with your app or site who allowed it | Anyone with an email address | Any mobile number | WhatsApp users who opted in |
| Cost per message | Free | Fractions of a cent | About ₹0.16 to ₹0.25 in India | About ₹0.115 to ₹0.86 in India |
| Permission | A system prompt the user accepts | Consent for marketing, not for receipts | Consent for promotions; DLT in India | Opt-in, plus approved templates |
| Speed | Seconds, when the device is online | Seconds to minutes | Seconds, varying by operator | Seconds, when the phone is online |
| Rich content | Title, text, image and buttons | Full HTML and attachments | Plain text only | Images, documents, buttons and replies |
| Best for | Live updates and reminders | Receipts, resets and long content | Login codes and critical alerts | Order updates and support chats |
| Watch out for | People switch it off if overused | Spam filters and DNS records | Cost, DLT rules and SIM-swap risk | Template approval and changing prices |
How to choose
- Use push for timely updates to people who have the app, since it costs nothing per message.
- Use email for receipts, password resets and anything long or worth keeping.
- Use SMS for login codes and critical alerts that must reach any phone, and budget for every message.
- Use WhatsApp for order updates and support chats in markets such as India, where it is widely used.
Crafted in the dark. Shipped to the world.
Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.