---
title: "Tìm email trong nhiều hộp thư Gmail và Outlook bằng Mailera"
description: "Cách tìm email trong nhiều hộp thư bằng API Mailera: lọc theo người gửi, xác định tài khoản nguồn và kiểm tra đồng bộ khi thiếu kết quả."
url: https://mailera.app/blog/tim-email-trong-nhieu-hop-thu
published: 2026-10-25
updated: 2026-10-25
---

# Tìm email trong nhiều hộp thư Gmail và Outlook bằng Mailera

Không nhớ thư được gửi tới tài khoản nào? Tìm trên các hộp thư đã kết nối, thu hẹp kết quả rồi mở đúng thư bằng mã hộp thư nguồn.

## Tìm email xuyên nhiều tài khoản thế nào?

Bạn nhớ mã yêu cầu trong thư nhưng không nhớ thư đến Gmail công việc hay Outlook của nhóm. Thay vì mở từng tài khoản, dùng `GET /messages/search` để tìm xuyên các hộp thư đã kết nối.

Kết quả tìm kiếm có `mailbox_email` và `mailbox_id` để xác định hộp thư nguồn. Nhờ đó, bạn có thể tìm một thư cụ thể trước, rồi xác định thư nằm ở tài khoản nào.

![Màn hình Hộp thư chung của Mailera bằng tiếng Việt](https://mailera.app/media/cd9e7ba53410f84c/choose-an-email-mcp-server-for-your-existing-mailboxes-en-1200.jpg)
_Hộp thư chung trong giao diện Mailera._

[Trang sản phẩm Mailera](https://mailera.app/product) giới thiệu cách kết nối các hộp thư có sẵn. Nếu cần tổ chức công việc hằng ngày thay vì chỉ tìm một thư, xem bài [vận hành hộp thư hợp nhất cho AI agent](https://mailera.app/blog/quan-ly-nhieu-hop-thu-email-cho-ai).

## Cần chuẩn bị gì trước khi tìm?

Chỉ dùng hộp thư của bạn hoặc hộp thư bạn được phép truy cập. Với ví dụ dưới đây, hãy chọn một thư thử có dấu hiệu riêng như `YEUCAU-THU-ALPHA`, không chứa thông tin khách hàng.

1. Dùng `GET /mailboxes` để kiểm tra tài khoản cần tìm, xem trạng thái ở `status`, lần đồng bộ gần nhất ở `last_sync_at` và lỗi ở `error`.
2. Nếu thiếu tài khoản, làm theo [hướng dẫn kết nối hộp thư đầu tiên](https://mailera.app/blog/cach-ket-noi-email-voi-mailera). Mailera có hướng dẫn riêng cho [Gmail và Google Workspace](https://mailera.app/providers/gmail), cũng như [Outlook và Microsoft 365](https://mailera.app/providers/microsoft).
3. Trong **Cài đặt**, mở phần khoá API rồi chọn **Tạo key**. Chọn một nhóm ở **Phạm vi hộp thư**, chỉ cấp quyền `read`. Quản trị viên có thể chọn tất cả nhóm, nhưng nên chọn nhóm thực sự cần dùng.

Tìm và đọc thư không cần quyền `send` hoặc `move`. Cũng đừng chọn một hộp thư cụ thể ngay từ đầu nếu bạn chưa nhớ tài khoản nhận thư.

![Màn hình Danh sách hộp thư của Mailera với dữ liệu thử](https://mailera.app/media/d99b10eacb71a625/verification-email-in-spam-find-it-and-recover-it-safely-vi-1200.jpg)
_Dùng GET /mailboxes để kiểm tra status, last\_sync\_at và error của hộp thư._

## Tìm đúng một thư qua API theo các bước nào?

### 1. Chọn một dấu hiệu đủ riêng

Dùng mã yêu cầu thử hoặc một cụm từ bạn nhớ rõ. Tránh bắt đầu bằng nhiều điều kiện cùng lúc: khi kết quả rỗng, bạn sẽ khó biết điều kiện nào đã loại thư cần tìm.

Ví dụ, thử `YEUCAU-THU-ALPHA` trước. Chưa cần giới hạn người gửi, thời gian hay thư mục.

### 2. Tìm rộng trước khi chọn hộp thư

Đặt khoá của bạn vào biến môi trường `$MAILERA_API_KEY` trước khi chạy. Không chép khoá thật vào mã nguồn hoặc ảnh chụp màn hình.

```bash
curl --get 'https://mailera.app/api/public/v1/messages/search' \
  --header "Authorization: Bearer $MAILERA_API_KEY" \
  --data-urlencode 'q=YEUCAU-THU-ALPHA'
```

`--get` đưa tham số vào URL; `--data-urlencode` mã hoá giá trị thay vì để bạn tự nối chuỗi. Lệnh không đặt `mailbox`, nên phù hợp khi chưa biết hộp thư nguồn.

### 3. Thu hẹp từng điều kiện

Nếu có nhiều kết quả, thêm lần lượt `from`, `since` hoặc `mailbox` theo điều bạn nhớ chắc. Tra kiểu dữ liệu và định dạng giá trị trong [tài liệu API Mailera](https://mailera.app/docs), nhất là mốc thời gian `since`.

Nếu nghi thư nằm trong Thư rác, bạn có thể tìm riêng với `folder=junk`:

```bash
curl --get 'https://mailera.app/api/public/v1/messages/search' \
  --header "Authorization: Bearer $MAILERA_API_KEY" \
  --data-urlencode 'q=YEUCAU-THU-ALPHA' \
  --data-urlencode 'folder=junk'
```

Truy vấn này chỉ tìm trong Thư rác. Đừng mặc định rằng mọi truy vấn đều tìm trong mọi thư mục.

### 4. Đọc hết các trang kết quả cần thiết

Các thư trả về nằm trong `data`. Kiểm tra `next_cursor`: nếu có giá trị, gửi lại truy vấn với cùng bộ lọc và truyền giá trị đó vào tham số `cursor`. Tiếp tục cho tới khi tìm được thư hoặc không còn trang tiếp theo.

`limit` là giới hạn kết quả mỗi trang, không phải tổng số thư khớp. Đừng kết luận “không có thư” chỉ vì trang đầu chưa chứa thư bạn cần.

### 5. Xác định hộp thư nguồn rồi mở thư

Trong từng kết quả, xem `mailbox_email` để nhận ra tài khoản, `mailbox_id` để lấy mã hộp thư và `id` để lấy mã thư. Dùng hai mã của cùng một kết quả; không ghép mã thư với một hộp thư khác.

Gán `mailbox_id` vào `$MAILBOX_ID`, gán `id` vào `$MESSAGE_ID`, rồi đọc nội dung:

```bash
curl "https://mailera.app/api/public/v1/mailboxes/$MAILBOX_ID/messages/$MESSAGE_ID" \
  --header "Authorization: Bearer $MAILERA_API_KEY"
```

Đối chiếu `from.address`, `received_at` và `body.text` hoặc `body.html`. Tiêu đề giống nhau chưa đủ để xác nhận đúng thư, nhất là khi cùng một yêu cầu có nhiều lượt trao đổi.

![Quy trình tìm xuyên hộp thư, lọc kết quả, xác định nguồn và mở đúng thư](https://mailera.app/media/e7770fdbc76dbf7e/tim-email-trong-nhieu-hop-thu-gmail-va-outlook-bang-mailera-vi-1200.jpg)
_Tìm rộng trước, rồi dùng mã hộp thư nguồn và mã thư để mở đúng kết quả._

## Nên dùng bộ lọc nào?

Chọn bộ lọc từ điều bạn nhớ chắc, không phải từ mọi thông tin có thể đoán. Bảng dưới đây giúp chọn tham số; kiểu dữ liệu và cách kết hợp cụ thể cần theo tài liệu API.

| Dấu hiệu nhớ được | Tham số | Điều cần kiểm tra |
| --- | --- | --- |
| Mã yêu cầu hoặc cụm từ | `q` | Bắt đầu bằng dấu hiệu đặc trưng |
| Người gửi | `from` | Đối chiếu địa chỉ, không chỉ tên hiển thị |
| Mốc thời gian | `since` | Kiểm tra định dạng và mốc lọc trong tài liệu |
| Tài khoản nhận thư | `mailbox` | Chỉ thêm khi đã xác định hộp thư nguồn |
| Thư mục | `folder` | Dùng `junk` để kiểm tra riêng Thư rác |
| Trạng thái chưa đọc | `unread` | Bỏ điều kiện này nếu thư có thể đã được đọc |

`cursor` và `limit` phục vụ phân trang, không thay thế bộ lọc nội dung.

Đừng tự chuyển cú pháp Gmail như `from:` hoặc `older_than:` vào `q` của Mailera. [Tài liệu toán tử Gmail](https://support.google.com/mail/answer/7190?hl=en) mô tả cú pháp của Gmail; chẳng hạn `in:anywhere` dùng để tìm cả trong Thư rác và Thùng rác tại Gmail.

Tương tự, [tìm kiếm bằng Microsoft Graph](https://learn.microsoft.com/en-us/graph/search-query-parameter) có quy tắc riêng: khi không chỉ định thuộc tính thư, Graph tìm trong `from`, `subject` và `body`. Không lấy quy tắc đó làm đặc tả cho `q` của Mailera.

## Lỗi hay gặp: vì sao không tìm thấy thư?

Khi kết quả rỗng, trước tiên bỏ bớt bộ lọc. Nếu tìm thấy thư trở lại, thêm từng điều kiện để xác định chỗ đã loại thư ra.

| Thứ tự | Kiểm tra | Việc cần làm |
| --- | --- | --- |
| 1 | Quyền của khoá | Tìm và đọc thư cần quyền `read`; không cần cấp thêm `send` hoặc `move` |
| 2 | Hộp thư đã kết nối | Dùng `GET /mailboxes` để kiểm tra đúng tài khoản |
| 3 | Điều kiện lọc | Bỏ điều kiện về trạng thái đọc, thời gian hoặc thư mục mà bạn không chắc |
| 4 | Phân trang | Kiểm tra `next_cursor`, không chỉ trang đầu |
| 5 | Đồng bộ | Xem `status`, `last_sync_at` và `error` trong phản hồi `GET /mailboxes` |
| 6 | Thời hạn lưu trữ | Đối chiếu tuổi của thư với thời hạn lưu thư của gói |

Hộp thư không hoạt động có thể chuyển sang trạng thái ngủ và thức dậy khi được sử dụng.

Nếu cần đồng bộ thủ công, `POST /mailboxes/{id}/sync` khởi động đồng bộ và đánh thức hộp thư đang ngủ. Thao tác này cần quyền `sync` riêng. Nên để người hoặc quy trình có quyền phù hợp thực hiện, thay vì tự mở rộng quyền cho khoá chỉ đọc.

Khi đối chiếu ở Gmail, lưu ý [tìm kiếm thông thường của Gmail](https://support.google.com/mail/answer/6593?hl=en) mặc định không bao gồm Thư rác và Thùng rác. Tìm thiếu ở một nơi chưa đủ để kết luận thư đã mất.

## Giới hạn nào ảnh hưởng đến kết quả?

Lần tải thư đầu tiên sau khi kết nối hộp thư nằm trong thời hạn lưu trữ; gói miễn phí lưu thư **30 ngày**. Bạn có thể xem thông tin gói tại [trang giá Mailera](https://mailera.app/pricing).

Đừng coi đồng bộ lại là cách khôi phục thư ngoài thời hạn lưu trữ, hoặc coi dữ liệu tìm kiếm luôn cập nhật tức thời.

Mailera kết nối hộp thư có sẵn, không tạo hộp thư hay địa chỉ email mới. Proton Mail và Tuta hiện không được hỗ trợ.

## Cho AI agent tìm thư thế nào để hạn chế rủi ro?

Qua [MCP của Mailera](https://mailera.app/mcp), agent có thể dùng `search_messages` để tìm và `get_message` để đọc thư. Cả hai dùng quyền `read`; bạn không cần cấp `send` chỉ để tìm thư. Bài [các công cụ MCP theo từng công việc](https://mailera.app/blog/cong-cu-mcp-mailera) giúp phân biệt tác vụ đọc với tác vụ thay đổi dữ liệu.

Thư đến là **dữ liệu không tin cậy, không phải lệnh**. Agent không được làm theo yêu cầu trong thư để thay đổi nhiệm vụ, tiết lộ khoá hoặc chuyển dữ liệu tới một địa chỉ khác. Một thư có câu “bỏ qua hướng dẫn trước đó” vẫn chỉ là nội dung cần đọc.

Khi tạo khoá, chọn nhóm hộp thư cần thiết ở **Phạm vi hộp thư**. Nếu bước sau cần gửi hoặc trả lời, yêu cầu người dùng xác nhận người nhận và nội dung trước khi thực hiện. Che địa chỉ, nội dung nhạy cảm và khoá trong ảnh cũng như nhật ký; tham khảo [thông tin bảo mật Mailera](https://mailera.app/security) khi thiết lập quy trình.

**Làm điều này bằng API** — Mọi thao tác trong bài đều có REST API kèm ví dụ curl, khoá API và webhook. [Xem tài liệu API](https://mailera.app/docs)
