Đọc một email sử dụng Python (phần 4)

Có gì nhiều hơn

Trong bước 5, chúng ta giành tất cả các emails từ inbox, nhưng cái đó là không cần thiết. Lệnh search có thể được
đặt tham số với tiêu chuẩn lọc, ví dụ, bằng cách giành chỉ các emails ngày cuối:

import datetime
since = (datetime.date.today() – datetime.timedelta(days=1)).
strftime(“%d-%b-%Y”)
result, data = mail.uid(‘search’, None, f'(SENTSINCE {since})’)

Cái này sẽ tìm kiếm tùy theo date của email. Nhận thấy rằng giải quyết theo ngày.
Có nhiều hành động hơn cái có thể được thực hiện qua IMAP4. Check RFC 3501 tại https://tools.ietf.org/html/rfc3501
và RFC 6851 tại https://tools.ietf.org/html/rfc6851 cho các chi tiết nhiều hơn.
Các RFCs trên mô tả giao thức IMAP4 và có thể là tồi một chút. Check các lệnh có sẵn trong các chỉ mục RFC sẽ
cung cấp cho bạn một ý tưởng về khả năng của giao thức, và sau đó bạn có thể tìm kiếm cho các ví dụ về làm
cách nào thực thi lệnh cụ thể.
Subject và body của email, cũng như metadata khác như date, to, from, ..vv..có thể được duyệt và xử lí. Ví dụ,
subject giành trong phần này có thể được xử lí theo cách sau:

>>> import re
>>> re.search(r’\[Ref (\w+)] Subject: (\w+)’, ‘[Ref ABCDEF] Subject:
Product A’).groups()
(‘ABCDEF’, ‘Product’)

Chia sẻ