2010-11-13 36 views
7

Vì vậy, IMAP của Gmail hơi "lạ". Họ sử dụng thư mục IMAP để đại diện cho Nhãn. Tôi tin rằng thông thường một email trong IMAP chỉ có thể thuộc về một 'Thư mục', tuy nhiên với Gmail, một thư email có thể thuộc về nhiều 'thư mục' mang lại cho chúng ta chức năng rất gần với nhãn.Gmail IMAP: Bất kỳ cách nào để tìm tất cả Nhãn (thư mục), một thư cụ thể có trong?

Câu hỏi của tôi là, tôi đang viết ứng dụng gmail (để những thứ như Gắn dấu sao, xóa và lưu trữ tác phẩm trực quan hơn một ứng dụng imap tiêu chuẩn), nhưng tôi muốn có thể hiển thị email, thư mục nào (nhãn) nằm ở.

Theo tôi có thể nói điều này không dễ (tôi phải lặp qua mọi thư trong mỗi thư mục để xem thư nào trong đó).

Có ai biết cách gọn gàng để thực hiện việc này không? Hoặc tôi có đúng trong giả định không có cách dễ dàng?

Trả lời

7

Gmail cung cấp một bộ tiện ích mở rộng IMAP để cho phép tác giả của ứng dụng khách IMAP cung cấp trải nghiệm giống Gmail hơn thông qua IMAP. Xem Gmail IMAP Extensions (X-GM-EXT-1).

Để tìm nạp nhãn cho một thư cụ thể, bạn có thể gọi lệnh IMAP FETCH với thuộc tính X-GM-LABELS. Xem Access to Gmail labels: X-GM-LABELS

+0

Cảm ơn, tôi đã tìm thấy trang IMAP Gmail đặc biệt một thời gian ngắn, nhưng không bao giờ quay lại và đặt nó ở đây. – Redth

-1

Cách đơn giản nhất (mặc dù không rõ ràng) là lấy các giá trị của tiêu đề Message-ID của thư. Sau đó lặp qua các thư mục "label" và thực hiện IMAP SEARCH dọc theo dòng của

A001 SEARCH HEADER MESSAGE-ID "your-msgid-value" 

Nếu bạn nhận được bất kỳ kết quả trở lại trong SEARCH đáp ứng được gắn thẻ, thông điệp có lựa chọn "thư mục" 's nhãn.

Các vấn đề liên quan