Trong bài viết này, bạn sẽ tìm hiểu cách lấy thư email từ máy chủ thư theo chương trình. Đặc biệt, bạn sẽ biết cách kết nối với máy chủ thư bằng giao thức IMAP hoặc POP3 và đọc email bằng Python.

Thư viện Python để đọc email bằng POP3 hoặc IMAP

Để đọc email từ máy chủ thư bằng POP3 hoặc IMAP, chúng tôi sẽ sử dụng Aspose.Email for Python qua .NET. Đây là một thư viện email giàu tính năng cho phép bạn triển khai ứng dụng email từ bên trong các ứng dụng Python của mình. Bạn có thể tải xuống tệp .whl hoặc cài đặt thư viện bằng lệnh pip sau.

> pip install Aspose.Email-for-Python-via-NET

Đọc email từ máy chủ thư bằng Python

POP3 và IMAP thường được sử dụng để lấy email từ máy chủ thư. Các phần sau đây trình bày cách đọc email bằng cả hai giao thức email riêng biệt.

Đọc email bằng POP3 trong Python

Sau đây là các bước để đọc email bằng POP3 trong Python.

  • Tạo một đối tượng của lớp Pop3Client và khởi tạo nó bằng máy chủ, cổng, tên người dùng và mật khẩu.
  • Đặt các tùy chọn bảo mật bằng thuộc tính Pop3Client.securityoptions.
  • Nhận số lượng tin nhắn bằng cách sử dụng phương thức Pop3Client.getmessagecount().
  • Truy cập từng thông báo trong một vòng lặp bằng phương thức Pop3Client.fetchmessage().

Mẫu mã sau đây cho thấy cách đọc email bằng POP3 trong Python.

# tạo ứng dụng khách POP3
client = Pop3Client("pop.gmail.com", 995, "username", "password")

# đặt các tùy chọn bảo mật
client.security_options = SecurityOptions.AUTO

# nhận được số lượng tin nhắn
messageCount = client.get_message_count()
print("Total messages: " + str(messageCount))

# tạo một phiên bản của lớp MailMessage để đọc thư    
for i in range(0,messageCount):
    message = client.fetch_message(i+1)
    print("From:" + str(message.from_address))
    print("Subject:" + message.subject)
    print(message.html_body)

Đọc email bằng IMAP bằng Python

Sau đây là các bước để đọc email bằng IMAP trong Python.

  • Tạo một đối tượng của lớp ImapClient và khởi tạo nó bằng máy chủ, cổng, tên người dùng và mật khẩu.
  • Chọn thư mục bằng phương pháp ImapClient.selectfolder (folderName).
  • Lặp lại danh sách thư bằng phương thức ImapClient.listmessages().

Mẫu mã sau đây cho thấy cách đọc email bằng IMAP trong Python.

# kết nối với máy chủ thư bằng IMAP
client = ImapClient("imap.gmail.com", 993, "username", "password")

# chọn thư mục
client.select_folder("Inbox")

# lặp qua các tin nhắn email và lưu chúng dưới dạng tệp .eml
for msg in client.list_messages():
    print("Subject: " + msg.subject)
    print("HtmlBody: " + msg.html_body)
    print("TextBody: " + msg.body)
    client.save_message(msg.unique_id, msg.unique_id + "_out.eml")

Thư viện email Python - Nhận giấy phép miễn phí

Bạn có thể sử dụng Aspose.Email for Python bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách đọc email từ máy chủ thư bằng Python. Đặc biệt, bạn đã thấy cách sử dụng ứng dụng khách POP3 và IMAP để tìm nạp và đọc email. Bạn có thể khám phá thêm về thư viện email Python bằng cách sử dụng tài liệu. Hơn nữa, bạn có thể đăng các câu hỏi của mình trên diễn đàn của chúng tôi.

Xem thêm