Nó làm việc như thế nào
Sau khi nhập khẩu các modules cái sẽ được sử dụng và định nghĩa credentials, chúng ta kết nối tới server trong
bước 3.
Bước 4 kết nối tới inbox. Đây là một thư mục mặc định trong Gmail cái chứa email được nhận.
Tất nhiên, bạn có thể cần đọc một thư mục khác. Bạn có thể nhận một danh sách tất cả các thư mục bằng cách gọi
mail.list().
Trong bước 5, trước tiên, một danh sách các UIDs được giành cho tất cả các emails trong inbox bằng cách gọi
.uid(‘search’, None, “ALL”). Email cuối cùng được nhận sau đó được giành một lần nữa từ server qua một hành động
fetch với .uid(‘fetch’, latest_email_uid,'(RFC822)’). Cái này giành email trong hình thức RFC822, cái là tiêu
chuẩn. Chú ý rằng giành email đánh dấu nó như được đọc.
Lệnh .uid cho phép chúng ta gọi các lệnh IMAP4, trả về một tuple với kết quả (OK hay NO) và dữ liệu. Nếu có một
lỗi, nó sẽ dấy lên ngoại lệ hợp lí.
Module BytesParser được sử dụng để chuyển dạng RFC822 email thô thành một Python object. Cái này được thực hiện
trong bước 6.
Metadata, bao gồm các chi tiết như subject, sender, và timestamp, có thể được truy cập như một dictionary, như
thể hiện trong bước 7. Các địa chỉ có thể được duyệt từ hình thức text thô để chia tách phần với email.utils.parseaddr.
Cuối cùng, nội dung có thể được bộc lộ và kéo ra. Nếu dạng của email là multipart, mỗi part có thể được kéo ra bằng
cách lặp qua .get_payload(). Cái cái là dễ dàng hơn để làm việc với là plain/text, nên cho rằng nó là có mặt, code
trong bước 8 sẽ kéo ra nó.
Email body được lưu giữ trong biến payload.