Cách câu lệnh ví dụ dưới đây có thể sai (khoảng 10%), tùy theo cấu trúc email mà người dùng gởi.
Lấy nội dung Email
Section 1.1: Lấy nội dung Text
A UID FETCH 1 BODY.PEEK[1.1]
* 1 FETCH (UID 1 BODY[1.1] {170}
test
--
My signature
Blabla
...
)
A OK Completed
Sectioin 1.2: Lấy nội dung Text Html
A UID FETCH 1 BODY.PEEK[1.2]
* 1 FETCH (UID 1 BODY[1.2] {1321}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
...
</HTML>
)
A OK Completed
Section 2: Lấy nội dung file đính kèm (nếu có)
Tùy theo số lượng file đính kèm, mà sẽ có section 2, section 3....
- 1 file == section 2
- 2 file == section 2 và section 3
- ...
A FETCH 1 BODY.PEEK[2]
* 1 FETCH (BODY[2] {9541}
diff --git a/src/libtracker-data/tracker-data-query.c b/src/libtracker-data/tracker-data-query.c
index 20f0140..c9db8ec 100644
--- a/src/libtracker-data/tracker-data-query.c
+++ b/src/libtracker-data/tracker-data-query.c
@@ -210, ...
Body Structure
Mail Server sẽ trả về chuỗi miêu tả nội dung Email nằm trên 1 dòng. Dưới đây mình xuống dòng và thụt lề cho dễ nhìn chút :)A01 UID FETCH 21 BODYSTRUCTURE
* 1 FETCH (
UID 21 BODYSTRUCTURE (
(
("TEXT" "PLAIN" NIL NIL NIL "7BIT" 170 7 NIL NIL NIL)
("TEXT" "HTML" ("CHARSET" "utf-8") NIL NIL "7BIT" 1321 24 NIL NIL NIL)
"ALTERNATIVE" ("BOUNDARY" "=-GgGWuVS+goa+7OHIJWr0") NIL NIL
)
("TEXT" "X-PATCH" ("NAME" "fix_class_signals.diff" "CHARSET" "UTF-8") NIL NIL "7BIT" 9541 266 NIL
("ATTACHMENT" ("FILENAME" "fix_class_signals.diff")) NIL)
"MIXED" ("BOUNDARY" "=-RBJ0QoWwq+KaBoV5H8JN") NIL NIL
)
)
A01 OK Completed
Để biết được phần body muốn lấy thuộc part mấy, bạn để ý số dấu ngoặc tương ứng với số cấp trong body.
Nhận xét
Đăng nhận xét