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

Làm cách nào làm nó

1. Nhập khẩu các modules imaplib và email:

>>> import imaplib
>>> import email
>>> from email.parser import BytesParser, Parser
>>> from email.policy import default

2. Thiết lập credentials, thay thế cái sau với những cái của bản thân bạn:

>>> USER = ‘your.account@gmail.com’
>>> PASSWORD = ‘YourPassword’

3. Kết nối với email server:

>>> mail = imaplib.IMAP4_SSL(‘imap.gmail.com’)
>>> mail.login(USER, PASSWORD)

4. Chọn thư mục inbox:

>>> mail.select(‘inbox’)

5. Đọc tất cả email UIDs và giành email nhận cuối cùng:

>>> result, data = mail.uid(‘search’, None, ‘ALL’)
>>> latest_email_uid = data[0].split()[-1]
>>> result, data = mail.uid(‘fetch’, latest_email_uid, ‘(RFC822)’)
>>> raw_email = data[0][1]

6. Duyệt email thành một Python object:

>>> email_message = BytesParser(policy=default).parsebytes(raw_
email)

7. Hiển thị subject và địa chỉ gửi của email:

>>> email_message[‘subject’]
‘[Ref ABCDEF] Subject: Product A’
>>> email.utils.parseaddr(email_message[‘From’])
(‘Sender name’, ‘sender@gmail.com’)

8. Giành payload của text:

>>> email_type = email_message.get_content_maintype()
>>> if email_type == ‘multipart’:
… for part in email_message.get_payload():
… if part.get_content_type() == ‘text/plain’:
… payload = part.get_payload()
… elif email_type == ‘text’:
… payload = email_message.get_payload()
>>> print(payload)
Hi:
I’m having difficulties getting into my account. What was the
URL, again?
Thanks!
A confused customer

Chia sẻ