Nhìn nhanh
Mười bốn hàng, một vài hàng trong số đó ghi “không áp dụng” vì đây là một công cụ chạy trên máy chủ của chính bạn. Mỗi ô của Mailpit là những gì tài liệu, README và trang tùy chọn runtime của nó nói vào ngày 2 tháng 9 năm 2026; mỗi ô của GrabMail được đọc từ các hằng số mà dịch vụ này áp dụng.
| Tính năng | GrabMail | Mailpit |
|---|---|---|
| Gói Free | Có: Tất cả: tên miền công khai, tên miền riêng của bạn, API và máy chủ MCP. Không cần tài khoản, không cần thẻ. | Có: Tất cả: có giấy phép MIT, không có gói, không cần tài khoản. Cái giá bạn phải trả là máy chủ mà bạn chạy nó trên đó. |
| Không tài khoản, không API key | Có: Không có gì để tạo cả. Một GET với địa chỉ nằm trong query string sẽ đọc hộp thư. | Có: Không có theo mặc định; có tùy chọn xác thực HTTP Basic trên giao diện và trên API. |
| REST API | Có: Ba endpoint qua HTTPS, OpenAPI 3.1, một lượt đọc mỗi giây cho mỗi địa chỉ. | Có: Một REST API với một tài liệu Swagger, do chính instance của bạn cung cấp; một websocket cho thông báo, nằm ngoài API chính thức. |
| Tự chọn địa chỉ của bạn | Có: Bất kỳ tên nào trên 8 tên miền công khai, trong đó có grabmail.io và mixozia.com, miễn phí. | Có: Bất kỳ người nhận nào mà ứng dụng của bạn gửi đến đều được chấp nhận; không có địa chỉ nào cần cấp phát cả. |
| Tên miền riêng của bạn | Có: Miễn phí và không giới hạn: một bản ghi MX tại smtp.grabmail.io, không cần bước đăng ký. | Một phần: Không áp dụng: nó chấp nhận thư cho bất kỳ tên miền nào từ ứng dụng của bạn, và không được xây dựng để nhận thư từ internet. |
| Thời gian lưu thư | 5 ngày, cố định. Không phải một gói, không phải một tùy chọn. | Do bạn tự thiết lập: mặc định là 500 thư gần nhất, hoặc một giới hạn tuổi thư như --max-age 14d; cơ sở dữ liệu mặc định là một tệp tạm thời bị xóa khi thoát. |
| Tệp đính kèm | Có: Tối đa 5 MB cho mỗi thư, có thể tải xuống từ hộp thư và từ API. | Có: Có; các thư trên 50 MB bị từ chối theo mặc định. |
| Không quảng cáo, không theo dõi | Có: Không quảng cáo, không phân tích, không script bên thứ ba. | Có: Không có; đó là phần mềm do chính bạn chạy. |
| Hộp thư riêng tư | Không: Công khai: bất kỳ ai biết địa chỉ đều có thể đọc được. Mỗi hộp thư có một bí danh để đưa cho người khác thay vào đó. | Có: Riêng tư đúng bằng mức riêng tư của máy chủ bạn; không có gì rời khỏi đó trừ khi bạn relay nó đi. |
| Máy chủ MCP cho AI agent | Có: Máy chủ MCP miễn phí tại https://grabmail.io/mcp: tạo một hộp thư, chờ tối đa 25 giây để có thư, rồi đọc nó. | Không: Không có: không máy chủ MCP, không llms.txt. |
| Gửi thư | Không: Không có, đây là chủ ý thiết kế. Chỉ nhận thư. | Một phần: Nó bắt thư chứ không gửi thư, nhưng có thể relay hoặc chuyển tiếp một thư đã bắt được qua một máy chủ SMTP bên ngoài, và có một HTTP send API. |
| Webhook hoặc push | Không: Không có. Thăm dò mỗi giây một lần, hoặc để lệnh chờ của MCP giữ cho cuộc gọi luôn mở. | Có: Một webhook tùy chọn cho các thư nhận được, và một luồng websocket. |
| SDK chính thức | Không: Không có. Thay vào đó là một tài liệu OpenAPI và ba endpoint. | Không: Không có; chỉ có một tài liệu Swagger và tài liệu tương tác ngay trên instance của bạn. |
| Ứng dụng và tiện ích mở rộng | Một phần: Một tiện ích mở rộng Chrome, cài bằng tay; chưa có trên store. | Một phần: Một binary tĩnh cho Windows, Linux và Mac, các Docker image, Homebrew, và một máy chủ POP3 tùy chọn cho các trình email. |
Kiểm tra ngày 2 tháng 9 năm 2026. Các giá trị mặc định của Mailpit được trích từ các tùy chọn runtime của nó: giữ lại 500 thư gần nhất, một cơ sở dữ liệu tạm thời bị xóa khi thoát, giới hạn thư 50 MB. Tình trạng của MailHog được suy ra từ các mốc thời gian trong repository của nó, vốn đã được trích dẫn; dự án này không mang thông báo ngừng hỗ trợ nào.
Những gì Mailpit làm tốt
Mailpit là công cụ chạy song song với ứng dụng của bạn trong lúc bạn xây dựng nó. Bốn điều nó làm được mà GrabMail thì không:
- Nó bắt lại mọi thứ bạn gửi, ngay tại chỗ. Trỏ ứng dụng của bạn tới cổng 1025 và mọi thư — đặt lại mật khẩu, hóa đơn, tất tần tật — sẽ rơi vào hộp thư web trên cổng 8025, không một thư nào chạm tới địa chỉ thật. GrabMail không bao giờ nhìn thấy thư gửi đi của bạn.
- Nó kiểm thử chính bức thư, chứ không chỉ việc gửi thành công hay không. Kiểm tra tương thích HTML, kiểm tra liên kết, chấm điểm SpamAssassin, chụp ảnh màn hình, gắn thẻ. GrabMail chỉ đưa cho bạn bức thư rồi dừng lại ở đó.
- Chaos. Kể từ phiên bản 1.20, nó có thể tiêm lỗi SMTP tại các giai đoạn được chọn với xác suất được chọn, để chứng minh ứng dụng của bạn vẫn xử lý ổn ngay cả khi máy chủ thư gặp sự cố. Không dịch vụ được lưu trữ nào cung cấp điều đó.
- Nó là của riêng bạn. Có giấy phép MIT, một binary duy nhất, hai đến ba trăm thư mỗi giây, không nhà cung cấp, không tài khoản, không cần internet. Còn GrabMail là máy chủ của người khác, và mọi thứ trên đó đều công khai.
Điểm khác biệt của GrabMail
GrabMail làm được đúng một việc mà một trình bắt SMTP cục bộ không thể làm: tồn tại trên internet, với những địa chỉ mà máy chủ của người khác có thể gửi thư đến.
- Thư đến thật sự. Một bài kiểm thử đăng ký với một dịch vụ bên thứ ba và dịch vụ đó gửi một mã — đến GitHub, đến Stripe, đến bất cứ thứ gì bạn đang tích hợp, địa chỉ phải là thật.
run-42@grabmail.iolà thật, có bản ghi MX, và thư của nó đọc được bằng một GET không cần key. - Không có gì cần chạy, không có gì cần phơi ra ngoài. Để Mailpit nhận được từ internet nghĩa là cần một máy chủ công khai, một bản ghi MX và một quy tắc tường lửa, và tài liệu của nó cũng không định hướng nó cho việc đó. GrabMail đã sẵn sàng ở đó; một runner CI chỉ cần HTTPS gửi đi.
- Tên miền riêng của bạn trở thành catch-all, được lưu trữ sẵn. Một bản ghi MX tại smtp.grabmail.io và mọi địa chỉ trên tên miền đó nhận thư từ bất cứ đâu, được giữ 5 ngày, không cần daemon nào của bạn tham gia.
- Một máy chủ MCP dành cho agent. Một agent phải tự đăng ký ở đâu đó thì hoàn toàn không thể dùng một trình bắt SMTP cục bộ. Máy chủ GrabMail tại https://grabmail.io/mcp cho nó một hộp thư và một
wait_for_messagechặn cuộc gọi tối đa 25 giây, mà không cần key nào.
Giá cả, đặt cạnh nhau
Không có gì để định giá ở Mailpit cả: đó là phần mềm miễn phí, và cái giá của nó là máy chủ mà bạn chạy nó trên đó. Gói trả phí duy nhất của GrabMail mua quyền truy cập vào một nhóm tên miền được giữ ngoài các danh sách chặn email dùng một lần; mọi thứ trong bảng trên vẫn miễn phí.
| Gói | GrabMail | Mailpit |
|---|---|---|
| Free | Tên miền công khai, tên miền riêng của bạn, API, MCP. Không tài khoản, không giới hạn. | Tất cả, có giấy phép MIT: bắt thư SMTP, hộp thư web, API, POP3, chaos, các kiểm tra. |
| Trả phí rẻ nhất | Premium, $24 mỗi tháng: quyền truy cập API vào nhóm tên miền nằm ngoài danh sách chặn, thanh toán bằng crypto. | Không có. |
| Cao hơn mức đó | Pro $78 và Scale $148 mỗi tháng: nhiều thư và key hơn trên cùng một nhóm tên miền. | Không có. |
| Thứ bạn phải đánh đổi | Tính công khai: mọi hộp thư đều có thể đọc được bởi bất kỳ ai biết địa chỉ. | Một máy chủ, một cổng, và việc nó không thể nhận thư từ internet. |
Như đã công bố vào ngày 2 tháng 9 năm 2026. Trang giá của GrabMail có đầy đủ bảng giá.
Dành cho developer: đọc một hộp thư
Hai API này đọc hai loại thư khác nhau, vậy nên đây là API đọc thư đến từ thế giới bên ngoài. Lệnh này đọc một hộp thư GrabMail mà không cần header, không cần key và không cần tài khoản:
$ curl -sG https://grabmail.io/api/v1/mailbox --data-urlencode "address=anything@grabmail.io" | jq '{count, alias}'Phần tương đương ở Mailpit là GET http://localhost:8025/api/v1/messages trên instance của chính bạn, liệt kê những gì ứng dụng của bạn đã gửi tới nó — đó là lệnh gọi đúng để khẳng định ứng dụng của bạn đã tạo ra đúng bức thư. Còn đọc những gì một bên thứ ba gửi tới một người dùng thử nghiệm là việc của GrabMail; tài liệu tham chiếu chỉ có ba endpoint, và bài hướng dẫn GitHub Actions trình bày cả hai loại kiểm thử trong một workflow duy nhất.
Trong CI, hai công cụ này đứng cạnh nhau: Mailpit như một container dịch vụ trên cổng 1025 cho thư riêng của ứng dụng, còn các địa chỉ GrabMail dùng cho các lượt đăng ký mà bộ kiểm thử thực hiện với các dịch vụ thật. Không công cụ nào cần secret cả.
Dành cho AI agent
Mailpit không công bố máy chủ MCP nào cả và cũng không có llms.txt, và một trình bắt SMTP cục bộ không phải là thứ mà một agent đang đăng ký vào một trang web có thể sử dụng. Máy chủ GrabMail tại https://grabmail.io/mcp cho một agent một hộp thư mà không cần key: create_inbox, một wait_for_message chặn cuộc gọi tối đa 25 giây, read_message.
Bài Email cho AI agent nói về vòng lặp bốn lệnh gọi này cùng các rào chắn an toàn; bài hướng dẫn cho client có cấu hình cho Claude, Cursor và năm client khác.
Chuyển từ Mailpit hoặc MailHog sang
Từ MailHog, hãy chuyển sang Mailpit — đó là công cụ thay thế vẫn đang được bảo trì cho cùng công việc đó. Còn từ một trong hai sang GrabMail, chỉ cho những bài kiểm thử cần nhận thư:
- Thay MailHog bằng Mailpit để bắt thư. Cùng một ý tưởng, cùng các cổng, một dự án vẫn đang được bảo trì:
docker run -p 8025:8025 -p 1025:1025 axllent/mailpit. Không có phần nào trong đó liên quan đến GrabMail cả. - Tìm ra những bài kiểm thử giao tiếp với bên ngoài. Một bài kiểm thử đăng ký với một dịch vụ bên thứ ba thật và chờ thư từ đó thì không thể được phục vụ bởi một trình bắt cục bộ. Hãy cho nó
run-{id}@grabmail.io, hoặc một địa chỉ trên một tên miền bạn trỏ vềsmtp.grabmail.io. - Đọc nó bằng một GET. Gọi
/api/v1/mailbox?address=…mỗi giây với một hạn chót; bài hướng dẫn Playwright có sẵn vòng lặp này. Không cần token, không cần container dịch vụ. - Giữ lại Mailpit cho mọi thứ còn lại. Mẫu thư, liên kết, điểm spam, tiêm lỗi: đó là công việc của nó, và GrabMail không làm được bất kỳ điều nào trong số đó.
Chọn cái nào, cho việc gì
Cách phân chia trung thực nhất là theo hướng đi của thư:
Chọn GrabMail khi
- một bài kiểm thử hoặc một agent phải nhận thư từ một dịch vụ mà bạn không kiểm soát;
- bạn cần một địa chỉ thật có bản ghi MX, và không có gì cần lưu trữ hay phơi ra ngoài;
- một agent cần một hộp thư mà nó có thể mở ra và chờ đợi, mà không cần tài khoản.
Chọn Mailpit khi
- bạn muốn xem và kiểm tra mọi thứ ứng dụng của bạn gửi đi, mà không để nó rời khỏi máy của bạn;
- bạn muốn có chaos testing, chấm điểm spam và kiểm tra HTML trên chính các mẫu thư của mình;
- không có gì được phép rời khỏi mạng của bạn, và bạn muốn một phần mềm chứ không phải một dịch vụ.
Khi nào nên ở lại với Mailpit
Ba tình huống mà GrabMail là công cụ sai:
- Các bài kiểm thử của bạn kiểm tra chính những gì bạn gửi đi. GrabMail hoàn toàn không thể thấy được thư gửi đi của ứng dụng bạn. Đó chính là toàn bộ mục đích của Mailpit.
- Thư của bạn không được phép rời khỏi tòa nhà. Một trình bắt cục bộ giữ mọi thư trên máy chủ của bạn; còn mọi hộp thư GrabMail đều công khai trên internet.
- Bạn kiểm thử các trường hợp lỗi. Chế độ chaos, relay đến một máy chủ thật, các quy tắc chuyển tiếp: đó là những tính năng của một công cụ do bạn tự chạy, và không có phiên bản được lưu trữ sẵn tương đương ở đây.
Câu hỏi
GrabMail có phải là một lựa chọn thay thế cho Mailpit hoặc MailHog không?
Chỉ đối với các bài kiểm thử nhận thư từ thế giới bên ngoài, một việc mà cả Mailpit lẫn MailHog đều không được xây dựng để làm. Còn để bắt và kiểm tra thư gửi đi của chính ứng dụng bạn, Mailpit mới là công cụ phù hợp, và GrabMail không phải là một lựa chọn thay thế cho nó.
MailHog có còn được bảo trì không?
Repository của nó không bị archive và không mang thông báo ngừng hỗ trợ nào, nhưng tính đến ngày 2 tháng 9 năm 2026, bản phát hành cuối cùng của nó là v1.0.1 từ tháng 8 năm 2020, commit cuối cùng từ tháng 8 năm 2022, và nó có hơn hai trăm issue đang mở. Mailpit là dự án vẫn đang được bảo trì cho cùng công việc đó.
Mailpit có thể nhận email từ internet không?
Đó là một máy chủ SMTP mà bạn trỏ ứng dụng của mình tới, không phải một dịch vụ có bản ghi MX; tài liệu của nó cũng không định hướng nó cho thư internet, và làm vậy đồng nghĩa với việc phơi máy chủ của bạn ra ngoài. GrabMail tồn tại chính là cho trường hợp đó.
Mailpit giữ thư trong bao lâu?
Bao lâu tùy bạn quyết định: mặc định là 500 thư gần nhất, một giới hạn tuổi thư như --max-age 14d nếu bạn thiết lập, và hoàn toàn không còn gì sau khi thoát trừ khi bạn cấu hình một tệp cơ sở dữ liệu. GrabMail giữ mọi thư trong 5 ngày.
Tôi có thể dùng cả hai trong một pipeline không?
Đó là cách sắp xếp thông thường: Mailpit như một container dịch vụ cho thư riêng của ứng dụng, còn các địa chỉ GrabMail dùng cho các lượt đăng ký mà bộ kiểm thử thực hiện với các dịch vụ thật. Bài hướng dẫn GitHub Actions trình bày nửa phần nhận thư.


