→ From Coder to Shipper
From Coder to Shipper · Nền tảng web

Hệ thống email hiện đại

Cách một web app gửi email THẬT năm 2026 — mà không tự chạy mail server: một lời gọi API, mạng của provider, và ba record DNS giúp email không rơi vào spam.

← / → để chuyển slide · chuyển EN/VI bên dưới

Toàn cảnh

Email là một tính năng, không phải thứ nghĩ đến sau

Mọi sản phẩm thật đều gửi email. Nếu nó dừng, người dùng tự khóa mình ra ngoài, mất hóa đơn, và âm thầm mất niềm tin vào sản phẩm.

Đặt lại mật khẩu là bài kiểm tra đầu tiên

Nếu người dùng không nhận được email đặt lại mật khẩu, họ không đăng nhập lại được. Không email = không login, không hỗ trợ, không hoàn tiền.

Hóa đơn và xác nhận

Đặt hàng, thanh toán, tạo tài khoản — mỗi sự kiện sinh ra một email. Đó là hồ sơ giấy của sản phẩm bạn.

Thông báo chính là sản phẩm

Nhắc nhở, cập nhật đơn hàng, lời nhắc — nhiều app sống hay chết dựa vào việc email tới inbox nhanh và chắc chắn thế nào.

Email vẫn là kênh phổ quát

Push cần cài app, SMS tốn tiền theo tin nhắn. Email gần như miễn phí, ai cũng có, và dựa trên hạ tầng 40+ năm.

Toàn cảnh

Hệ thống email hiện đại, trong một bức tranh

Code của bạn không bao giờ nói chuyện với mạng email của internet. Nó chỉ gọi HTTPS một lần — provider lo phần còn lại.

📱 App của bạn

Kích hoạt email từ hành động người dùng: bấm đặt lại, đã thanh toán. Nó tạo From/To/tiêu đề/nội dung — không hơn.

→

📡 API email

Cánh cửa: một POST HTTPS có xác thực. Bạn nhận lại ID thông điệp và 202 'đã vào hàng chờ'. Đó là toàn bộ hợp đồng.

→

🚚 Mạng của provider

Server gửi có IP sạch và nhiều năm uy tín. Họ ký thông điệp (DKIM) và chuyển phát qua SMTP.

→

📬 Hộp thư người nhận

Server người nhận kiểm tra SPF/DKIM/DMARC so với DNS của DOMAIN BẠN, rồi phân loại: inbox hay spam.

AI LÀM GÌ bạn: viết thông điệp + gọi API + công bố 3 record DNS · provider: mọi thứ ở giữa · người nhận: các bước kiểm tra ở cuối

không mail server trên VPS · không code SMTP trong app · không cần tự xây uy tín IP

Bạn không tự chạy mail server. Bạn thuê một dịch vụ chuyển phát — và việc duy nhất của bạn là trao đúng phong bì với đúng địa chỉ.
— toàn bộ hệ thống hiện đại trong một câu
01
Phần 1

Vì sao dùng provider

Tự gửi email về kỹ thuật là được, về thực tế là đau. Phần này giải thích vì sao mọi app nghiêm túc đều trả tiền cho người khác làm việc này.

Phân chia

Hai loại email — bạn đang làm loại đầu

Hầu hết email của app là transactional. Marketing email là một ngành riêng với quy tắc riêng — cần biết ranh giới.

Transactional — một người dùng, một sự kiện

Đặt lại mật khẩu, hóa đơn, 'đơn đã gửi'. Một thông điệp, một người nhận, được kích hoạt bởi một sự kiện. Cấp bách, lượng thấp, phải tới nơi.

Marketing — nhiều người dùng, một đợt gửi

Newsletter, khuyến mãi, bản tin. Bắt buộc opt-in, giới hạn gửi chặt, link hủy đăng ký. Thường là dịch vụ riêng và domain gửi riêng.

Ranh giới quan trọng

Provider định giá và hạn mức theo loại. Nhồi newsletter qua tài khoản transactional sẽ bị hạ băng thông — hoặc email app bị gắn nhãn sai.

Bài này nói về loại đầu

Mọi thứ bên dưới: cách web app gửi email transactional vào inbox, chứ không phải thư mục spam.

Cạm bẫy

Vì sao 'gửi thẳng từ VPS' thất bại

Rất hấp dẫn: bớt một dịch vụ, bớt một hóa đơn. Thực tế, một server mới là kẻ gửi email tệ nhất có thể.

Port 25 đóng mặc định

Hầu hết provider VPS/cloud chặn port 25 ra ngoài (port gửi mail) ở cấp mạng — để bạn không biến thành xưởng spam qua một đêm.

IP mới = có tội cho đến khi chứng minh vô tội

Provider inbox theo dõi uy tín IP. IP mới tinh, chưa có lịch sử, trông y hệt IP của bot spam. 'Làm ấm' mất vài tuần tăng lượng cẩn thận.

Sự cố vô hình

Thư im lặng vào spam, bị trả lại, hoặc biến mất. Không có dashboard và webhook, bạn chỉ biết khi người dùng phàn nàn — nhiều ngày sau.

Uy tín là cuộc chơi dài

Xây uy tín IP gửi là dự án vài tháng: tăng lượng từ từ, giám sát, quản lý khiếu nại. Đó là nghề của người khác.

Bằng chứng

Tường chắn, trong một lệnh

Từ một VPS mới điển hình, port mail đơn giản là không tồn tại — trong khi cánh cửa API mở toang.

ops@vps — zsh
$ nc -vz mx.google.com 25
nc: connect to mx.google.com port 25 (tcp): timed out
# the VPS provider blocked outbound port 25 — by design
$ curl -X POST https://api.resend.com/emails -H 'Authorization: Bearer re_...' -d @email.json
{"id": "d41d8cd98f00b204e9800998ecf8427e"}
202 Accepted — queued for delivery
Giá trị

Provider thực sự làm gì cho bạn

Bạn không trả tiền cho 'việc gửi'. Bạn trả tiền cho uy tín, một mạng lưới, và vòng phản hồi đã mất nhiều năm để xây.

IP sạch, có lịch sử

Server gửi của họ có nhiều năm hành xử tốt. Provider inbox cho phép lưu lượng của họ đi qua — đó chính là sản phẩm.

Họ ký thay bạn (DKIM)

Mỗi thông điệp được mạng của họ ký bằng khóa DKIM của domain bạn. Bạn công bố một record DNS; họ ký mãi mãi.

Vòng phản hồi

Bounce, click, khiếu nại, trạng thái chuyển phát quay về app dưới dạng webhook. Code của bạn phản ứng: ngừng gửi tới các địa chỉ chết.

Một API, mọi ngôn ngữ

Cùng một lời gọi HTTPS chạy với Python, Node, Go hay serverless. Hệ thống mail không còn là một phần codebase của bạn.

Bản đồ

Chọn provider

Tất cả đều làm cùng một việc. Chọn theo gói miễn phí, trải nghiệm dev, và độ hợp với stack của bạn.

ProviderNổi bật vìPhù hợp
SendGridCựu binh — hệ sinh thái lớn + gói miễn phídự án lớn, nhiều tích hợp
ResendAPI thân dev, DX rất sạchweb app hiện đại, setup nhanh
Postmarkcực đoan về deliverability, rất nghiêmemail mà việc tới nơi là sống còn
Amazon SESgiá cực thấp khi lên scalekhối lượng lớn, nhạy cảm chi phí
MailgunAPI linh hoạt, quản domain & theo dõiapp cần kiểm soát chi tiết
Việc của bạn là một HTTP call và ba record DNS. Phần khó nhất của email — uy tín, chuyển phát, xác thực — là nghề toàn thời gian của người khác.
— vì sao hệ thống hiện đại tồn tại
02
Phần 2

Luồng đi — một email, bốn chặng

Theo một email đặt lại mật khẩu từ code của bạn tới inbox người nhận. Mọi mảnh ghép bạn cần đều nằm trên bản đồ này.

Luồng đi

Đường ống, với nhãn giao thức

Cùng bốn trạm như bức tranh lớn — nhưng giờ mỗi chặng được gắn nhãn thứ thực sự đi trên đường truyền.

📱 App của bạn

→ HTTPS POST

Gửi From/To/tiêu đề/nội dung cùng API key. Không có giao thức mail trong code của bạn.

↓

📡 API của provider

→ queue

Xác thực, xếp hàng thông điệp, trả về 202 + ID. Request của bạn xong — chuyển phát chạy ở nền.

↓

🚚 Server mail của provider

→ SMTP :25

Tra MX record của người nhận, nối tới mail server của họ, trao thông điệp. Tự thử lại, đổi đường khi hỏng.

↓

📬 Server người nhận

→ local

Chạy kiểm tra SPF/DKIM/DMARC so với DNS domain bạn, chấm điểm thông điệp, phân loại: inbox, spam — hoặc trả bounce.

bạn sở hữu chặng 1 (và các record DNS) · provider sở hữu chặng 2–3 · thế giới người nhận sở hữu chặng 4

Code của bạn

Toàn bộ tính năng mail

Không client SMTP, không mail server, không port 25. Một request HTTPS với body JSON — là hết.

send_email.py
import httpx

# the entire 'email feature' of your app
r = httpx.post(
    "https://api.resend.com/emails",
    headers={"Authorization": "Bearer re_..."},
    json={
        "from": "Acme App <noreply@shop.example.com>",
        "to": ["alice@example.com"],
        "subject": "Your password reset link",
        "html": "<p>Click <a href='/reset?token=...'>here</a> to reset.</p>",
    },
)
print(r.status_code)          # 202 — queued for delivery

Docs của provider cho bạn snippet theo ngôn ngữ. Có AI, đây là việc 5 phút — kỹ năng là hiểu phản hồi có nghĩa gì.

Đầu đến cuối

Cuộc đời một thông điệp

Diễn ra sau 202 của bạn — phía provider của hợp đồng.

  1. 1

    Xác thực + xếp hàng

    API kiểm tra key, domain gửi và nội dung, rồi đưa thông điệp vào hàng chờ. Bạn đã cầm ID thông điệp.

  2. 2

    Ký thông điệp

    Mạng ký bằng khóa riêng DKIM của domain bạn. Nửa công khai nằm trong DNS của bạn — người nhận dùng nó ngay sau đó.

  3. 3

    Tìm hộp thư

    Tra MX DNS tìm mail server của người nhận (chẳng hạn của Google). Provider nối qua SMTP port 25 và trao thông điệp.

  4. 4

    Bị xét xử

    Server người nhận kiểm tra SPF, DKIM, DMARC so với record domain bạn, rồi chạy bộ lọc spam. Cấu hình DNS của bạn bị thử ở đây.

  5. 5

    Đến nơi — hoặc bị trả lại

    Inbox: chuyển phát xong, webhook chạy. Spam: tới nhưng vô dụng. Bounce: địa chỉ không tồn tại, app được báo ngừng gửi tới đó.

Phân chia trong đầu

Phía gửi vs phía nhận

Phần lớn sự nhầm lẫn về email là trộn hai vế này. Bạn sống ở bên trái; bên phải là nơi record DNS của bạn được đọc.

Phía gửi (của bạn, qua provider)

SMTP là giao thức đưa mail giữa các server — nhưng bạn không bao giờ chạm tới. App gọi API; server của provider lo SMTP, thử lại, và uy tín IP.

Nếu nghe 'SMTP', hãy nghĩ: đường ống nội bộ của provider.

Phía nhận (luật của họ)

Server người nhận là người giữ cổng: tra record SPF/DKIM/DMARC của bạn, xác minh thông điệp, rồi quyết inbox, spam, hay từ chối.

Đây là nơi deliverability sống — toàn bộ phần kế tiếp.

Bên trong

Giải phẫu một thông điệp đã nhận

Mọi email thật đều mang một khối header — hộ chiếu của thông điệp, và nơi xác thực xuất hiện.

ops@vps — zsh
From: Acme App <noreply@shop.example.com>
Reply-To: support@shop.example.com
To: alice@example.com
Subject: Your password reset link
Message-ID: <20261027.abc123@resend.net>
Authentication-Results: mx.example.com;
dkim=pass header.d=shop.example.com;
spf=pass; dmarc=pass
# the trio passed -> this message reaches the inbox
Vận hành

Vòng phản hồi (miễn phí, đi kèm provider)

Provider theo dõi mọi thông điệp sau khi bạn gửi. Bạn đăng ký nhận kết quả — và app có thể hành động dựa trên đó.

Bounce

Hard bounce = địa chỉ không tồn tại (ngừng gửi, đánh dấu). Soft = đầy hay bận (thử lại sau). App tốt sẽ cập nhật danh sách người dùng từ đây.

Khiếu nại

Người nhận bấm 'báo spam'. Vài cái là bình thường; một đợt tăng nghĩa là nội dung hay danh sách của bạn sai — và deliverability sắp chịu thiệt.

Webhook chuyển phát

Một POST HTTPS về APP CỦA BẠN khi thông điệp được chuyển phát, bounce, hay bị khiếu nại. 'Gửi' thành tính năng đáng tin, chứ không phải bắn rồi quên.

Kỷ luật

Danh sách chặn (không bao giờ gửi tới các địa chỉ bounce đã biết) và danh sách sạch giữ domain trẻ khỏi rắc rối. Phần lớn provider lo phần cơ bản cho bạn.

03
Phần 3

Deliverability — SPF · DKIM · DMARC

Inbox đa nghi vì ai cũng giả được header From:. Ba record DNS là điều kiện tiên quyết — và đúng là phần DNS bạn đã biết.

Mối đe dọa

Vì sao inbox đa nghi

Giao thức mail không có danh tính tích hợp. Header From: là một lời tuyên bố, không phải sự thật — và internet đầy những lời tuyên bố sai.

From: dễ giả đến mức buồn cười

Ai cũng viết được bất kỳ địa chỉ nào vào From:. Không có kiểm tra, tin lừa từ 'support@example.com' gửi bởi server của người lạ trông giống hệt thư thật về cấu trúc.

Internet không có cảnh sát thư

Không có cơ quan trung tâm nào xác minh người gửi. Mỗi provider inbox (Google, Microsoft, Apple…) tự chạy cổng kiểm soát — và chia sẻ dữ liệu mối đe dọa để giữ spam ra ngoài.

Domain của bạn là giấy tờ tùy thân

Vì không ai xác minh bạn, CHÍNH BẠN công bố quy tắc xác minh trong DNS của domain. Server người nhận đọc chúng trước khi quyết thư của bạn đi đâu.

Không có record = vào spam

Domain không có SPF hay DKIM tự nó là lá cờ đỏ. Với sản phẩm mới, mail không xác thực có thể không bao giờ tới inbox chính — kể cả email đặt lại mật khẩu đầu tiên.

Bộ ba

Ba record, mỗi cái một nhiệm vụ

Học theo thứ tự này: ai được PHÉP (SPF), ai THẬT SỰ KÝ (DKIM), và phải LÀM GÌ khi câu chuyện không khớp (DMARC).

SPF — danh sách khách

Một record TXT trên domain: 'chỉ những server này được phép gửi mail nhân danh domain tôi.' Người nhận đối chiếu server gửi với danh sách.

DKIM — con dấu sáp

Mỗi thông điệp được ký bằng khóa riêng; khóa công nằm trong DNS của bạn. Nếu người nhận xác minh được chữ ký, thông điệp nguyên vẹn và thật sự của bạn.

DMARC — luật

Một record chính sách: 'nếu thông điệp trượt SPF hoặc DKIM, từ chối / cách ly / bỏ qua.' Nó cũng chỉ nơi người nhận gửi báo cáo về ai đã dùng domain của bạn.

SPF · record

SPF, đọc từ trái sang phải

Một record TXT trên domain của bạn. Đó là danh sách khách, và token cuối là quy tắc cho tất cả người còn lại.

dns — SPF
# registrar panel -> your domain -> add TXT record
name:  @
value: v=spf1 include:resend.net ~all

# read it left to right:
#  v=spf1            -> this is an SPF record, version 1
#  include:resend.net -> the provider's servers are allowed
#  ~all              -> everyone else: soft-fail (flag, don't reject)

Dashboard của provider đưa bạn giá trị include chính xác để dán. '-all' là biến thể chặt hơn: từ chối cứng mọi người không có trong danh sách.

Deliverability · bước kiểm tra

Khoảnh khắc xét xử

Khi thông điệp của bạn tới server người nhận, nó chạy chuỗi này — mỗi bước đều đọc DNS của DOMAIN BẠN.

1 · Thông điệp tới

Mail server người nhận nhận thư từ IP của provider — và bắt đầu kiểm tra các tuyên bố bên trong.

↓

2 · Kiểm tra SPF

Tra DNS domain bạn: server gửi này có trong danh sách khách không? Pass hay fail, được ghi lại.

↓

3 · Kiểm tra DKIM

Tra record selector của bạn trong DNS, rồi xác minh chữ ký. Thông điệp này thật sự do khóa của bạn ký, chưa bị sửa?

↓

4 · Áp dụng chính sách DMARC

Kiểm tra pass và domain From: khớp — inbox. Trượt — chính sách DMARC của bạn bảo từ chối, cách ly, hay bỏ qua.

hai trong bốn bước là tra DNS trên DOMAIN CỦA BẠN — bạn đã biết cách làm phần đó rồi

DKIM · nói dễ hiểu

DKIM — ký từng phong bì

Bỏ qua chi tiết tạo khóa; đây là cấu trúc quan trọng.

Một cặp khóa, một record DNS

Provider tạo cặp khóa DKIM cho domain bạn và đưa bạn một record TXT để công bố (chẳng hạn dưới mail._domainkey.yourdomain.com). Đó là việc duy nhất của bạn.

Khóa riêng ký, provider làm việc đó

Mỗi thông điệp rời mạng của họ mang header DKIM-Signature: bản băm của thông điệp, ký bằng khóa riêng của bạn. Bạn không bao giờ chạm vào khóa.

Người nhận xác minh trong DNS

Người nhận đọc header chữ ký, lấy khóa công từ DNS của bạn, và kiểm tra: cùng thông điệp, cùng người gửi. Sửa bất cứ thứ gì là vỡ.

Vì sao nó hơn SPF đơn thuần

SPF chỉ kiểm tra server NÀO đã gửi. Nếu server đó bị chiếm hay bị lạm dụng, SPF vẫn pass. DKIM gắn chữ ký với NỘI DUNG — một ổ khóa khác.

DMARC · nói dễ hiểu

DMARC — chính sách + báo cáo

DMARC thêm hai thứ: điều xảy ra khi thất bại, và ai báo cho bạn khi ai đó dùng sai domain của bạn.

Record chính sách

Một record TXT tại _dmarc.yourdomain.com: v=DMARC1; p=none → p=quarantine → p=reject. Bạn bắt đầu ở none và siết dần khi SPF+DKIM ổn định.

Khớp nhau: các câu chuyện phải trùng

DMARC chỉ tính pass nếu domain trong From: khớp domain được xác thực bởi SPF hoặc DKIM. 'Gửi qua đối tác, mang thương hiệu của tôi' chính là thứ nó kiểm soát.

Báo cáo: nguồn an ninh miễn phí

Chỉ rua= vào một hộp thư và provider inbox sẽ gửi bạn tóm tắt hằng ngày về ai đã gửi mang domain của bạn — kể cả kẻ tấn công mà bạn chưa từng cấp phép.

Đích cuối: p=reject

Các tập đoàn lớn chạy p=reject: bất kỳ thứ nào không xác thực mạo danh domain của họ sẽ bị xóa ngay tại cổng. Đó là lời tuyên bố chống phishing mạnh nhất một domain có thể làm.

Nhìn nhanh

Bộ ba trên một bảng

Ba record, ba câu hỏi, ba đáp án — tất cả trong panel DNS của chính bạn.

RecordNằm ởTrả lờiẨn dụ
SPF@ (the domain)Server nào được phép gửi mang tên tôi?danh sách khách
DKIMselector._domainkeyTôi có thật sự ký thông điệp này không?con dấu sáp
DMARC_dmarcLàm gì khi câu chuyện không khớp?quy tắc của nhà
Xác minh

dig bộ ba

Ba lần tra, ba đáp án. Nếu cả ba đều trả về, domain của bạn được phép gửi mail mà inbox chấp nhận.

ops@vps — zsh
$ dig example.com TXT +short
"v=spf1 include:resend.net ~all"
$ dig _dmarc.example.com TXT +short
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
$ dig mail._domainkey.example.com TXT +short
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."
# SPF + DMARC + DKIM all present -> the domain can send real mail
04
Phần 4

Ghép lại với nhau

Từ con số 0 tới 'app của tôi gửi email thật': năm bước, một panel DNS, và vài thói quen giữ mối quan hệ hộp thư khỏe mạnh.

Danh sách kiểm tra

Năm bước để ship email

Cả bài học, nén lại thành những gì bạn thực sự bấm và dán.

  1. 1

    Sở hữu domain

    Domain bạn điều khiển (đã mua cho site — nó kiêm cả danh tính mail). Bạn sẽ thêm record vào panel DNS của nó.

  2. 2

    Tạo tài khoản provider

    Chọn một cái (bảng ở Phần 1), xác minh domain với họ, và lấy API key. Dashboard lúc này hiện đúng các record DNS cần thêm.

  3. 3

    Thêm ba record

    SPF (include provider), DKIM (dán TXT của họ), DMARC (bắt đầu p=none). Lưu, rồi chờ DNS ổn định — vài phút tới một ngày.

  4. 4

    Gửi email thử

    Gọi API một lần tới một inbox thật do bạn kiểm soát. Xem nó tới inbox chính — không phải spam — và provider đánh dấu đã chuyển phát.

  5. 5

    Nối webhook

    Chỉ webhook của provider về app của bạn, để bounce và khiếu nại tự cập nhật danh sách người dùng. Giờ email là một tính năng, không phải cầu may.

Panel DNS

Ba record cần dán

Mọi thứ dashboard provider yêu cầu thêm, trong một khung nhìn. Giá trị chỉ mang tính minh họa — của bạn sẽ là chuỗi khác.

dns records
# your domain's DNS panel — the shippable-email set
name                  type     value
@                     TXT      v=spf1 include:resend.net ~all
mail._domainkey       TXT      v=DKIM1; k=rsa; p=MIIBIjANBgkq...QIDAQAB
_dmarc                TXT      v=DMARC1; p=none; rua=mailto:dmarc@example.com

SPF nói ai được gửi. DKIM nói cách xác minh chữ ký. DMARC nói làm gì khi thất bại. Thêm cả ba ngay ngày đầu.

Thói quen

Mẫu giữ mail khỏe mạnh

Những lựa chọn nhỏ lúc gửi quyết định domain của bạn có giữ được tiếng tốt không.

From: là người, Reply-To: là team

Gửi từ 'Acme App <noreply@…>' với Reply-To trỏ vào hộp thư hỗ trợ thật. Địa chỉ noreply mà vẫn nhận reply làm phiền người dùng; Reply-To sửa được.

BCC cho mình khi thử

Khi phát triển, thêm địa chỉ của bạn vào BCC để xem chính xác thứ người dùng nhận — tiêu đề, nội dung, link, tất cả.

Gộp bản tin thay vì gửi dồn dập

Sự kiện ít cấp bách (người theo dõi mới, 3 lượt nhắc) gộp thành một bản tin hằng ngày. Ít email hơn, lớn hơn, nhẹ hơn với inbox — và với deliverability.

Một domain cho transactional

Giữ marketing ở subdomain riêng (chẳng hạn mail.example.com) để một đợt quảng cáo tệ không kéo tụt uy tín email transactional của bạn theo.

So sánh

Provider transactional vs hộp thư thường

Gmail rất hợp để ĐỌC mail. Nó là công cụ sai để GỬI mail sản phẩm ở quy mô lớn.

Provider transactionalGmail / Outlook
Dành chodo app kích hoạt, một-đối-một, cấp báchcon người, hội thoại, lượng thấp
GửiAPI + khối lượng gần như không giới hạn trong fair usethủ công, giới hạn ~500/ngày, không có API
Uy tín & xác thựcIP được quản lý, công cụ SPF/DKIM/DMARC, tỷ lệ vào inboxtrách nhiệm của bạn, không có công cụ
Phản hồibounce, click, khiếu nại qua webhookkhông ai báo cho bạn bất cứ điều gì
Toàn cảnh · tổng kết

Ba record + một API = email đến nơi

Toàn bộ hệ thống hiện đại, nhìn từ góc của bạn: bạn công bố niềm tin trong DNS, bạn viết thông điệp trong code, provider lo phần còn lại.

🏷 Domain của bạn

SPF + DKIM + DMARC trong DNS của nó: các quy tắc công khai để inbox tin thư mang tên bạn.

+

📡 API của provider

Một lời gọi xác thực từ app của bạn. Chuyển phát, ký, thử lại và uy tín IP là công việc được trả tiền của provider.

+

🔁 Webhook quay về

Đã chuyển phát, bounce, bị khiếu nại — kết quả quay về app của bạn, giúp danh sách người dùng luôn chính xác.

đặt lại mật khẩu, hóa đơn và thông báo giờ ship cùng app — giống mọi sản phẩm bạn đang dùng

Cài ba record, làm một lời gọi API — và app của bạn gửi email thật mà thực sự đến nơi, cùng vòng phản hồi giúp nó luôn chính xác.
— cả bài trong một hơi

Thông điệp → API → mạng → inbox.

Thêm SPF, DKIM, DMARC vào domain, gọi provider một lần, nối webhook — rồi đi xây tính năng gửi thư.