Tôi muốn nhận email bằng python. Cho đến nay tôi đã có thể nhận được chủ đề nhưng không thể là cơ thể. Đây là mã tôi đang sử dụng:Cách nhận thư bằng python
import poplib
from email import parser
pop_conn = poplib.POP3_SSL('pop.gmail.com')
pop_conn.user('myusername')
pop_conn.pass_('mypassword')
#Get messages from server:
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#Parse message intom an email object:
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
for message in messages:
print message['subject']
print message['body']
pop_conn.quit()
Vấn đề của tôi là khi tôi chạy mã này, nó trả về đúng đối tượng chứ không phải nội dung. Vì vậy, nếu tôi gửi một email với chủ đề "Tester" và nội dung "Đây là một tin nhắn thử nghiệm", nó trông giống như thế này trong IDLE.
>>>>Tester >>>>None
Vì vậy, dường như nó đang đánh giá chính xác đối tượng chứ không phải nội dung, tôi nghĩ nó nằm trong phương pháp phân tích cú pháp đúng không? Vấn đề là tôi không biết đủ về các thư viện này để tìm ra cách thay đổi nó để nó trả về cả chủ thể lẫn thân thể.