Đã giải quyết: chuyển đổi email triển vọng thành tệp văn bản python

Vấn đề chính với việc chuyển đổi email Outlook thành tệp văn bản là Outlook không phải lúc nào cũng bảo toàn thông tin định dạng trong email. Điều này có thể gây khó khăn cho việc hiểu nội dung của email.

-3.x email outlook text-files share|improve this question edited Jan 14 '15 at 8:13 asked Jan 14 '15 at 7:51 user3775557 1,8271133 add a comment| 2 Answers 2 active oldest votes up vote 0 down vote accepted You can use the email module to read the message and then save it to a file. The following code will read the message from your inbox and save it as a text file in your current directory. import os import imaplib import email def save_attachment(msg, download_folder="/tmp"): """Given a message, save its attachments to the specified download folder (default is /tmp)""" att_path = "No attachment found." for part in msg.walk(): if part.get_content_maintype() == 'multipart': continue if part.get('Content-Disposition') is None: continue filename = part.get_filename() if filename is not None: sv_path = os.path.join(download_folder, filename) content = part.get_payload(decode=True) try: with open(sv_path, 'wb') as fp: fp.write(content) except IOError: print("Error saving attachment to", sv_path) return att_path return sv-path userName = "yourmail@gmailcom" password = "yourpassword" mail = imaplib.IMAP4('imap-mailhost') mail .login(userName , password ) mail .select("inbox") result , data 

= mail .search(None, “ALL”) ids = data [ 0 ] id_list = ids.split() latest_email_id = id_list[- 1 ] kết quả , data = mail .fetch(latest_email_id , “(RFC822)”) raw_email = data [ 0 ][ 1 ] # chuyển byte ký tự thành chuỗi xóa b” msg = email.message_from_string(raw_email) savepath = os.getcwd() + '/' + str(msg['Subject']) + '.txt' # hoặc savepath = 'C:\Users\Downloads\' strMsg=str(“Chủ đề: “+msg['Subject']+”

“+”Từ: “+tin nhắn['Từ']+”

“+msg.get_payload()) fp=open(savepath,'w') fp.write(strMsg) fp.close() chia sẻ|cải thiện câu trả lời này đã chỉnh sửa 14 jan. :15 user8 13 thêm bình luận| Bản nháp câu trả lời của bạn đã lưu bị hủy Đăng ký hoặc đăng nhập Đăng ký bằng Google Đăng ký bằng Facebook Đăng ký bằng Email và mật khẩu Đăng với tư cách khách Tên Email Đăng với tư cách khách Tên Email hủy Bằng cách đăng câu trả lời của bạn, bạn đồng ý với chính sách quyền riêng tư và điều khoản dịch vụ. Không phải là câu trả lời bạn đang tìm kiếm? Duyệt các câu hỏi khác được gắn thẻ tệp văn bản triển vọng email 3.x hoặc đặt câu hỏi của riêng bạn. đã hỏi 2 năm trước đã xem 2486 lần hoạt động 2 năm trước Blog Stack Overflow Podcast #93 – A Very Spolsky Halloween Special Liên quan 9Làm cách nào để đọc email từ Gmail bằng Python?0Lỗi imaplib của Python khi cố gắng kết nối với gmail2Python IMAP4 chỉ đọc một thư từ Hộp thư đến Gmail1Đọc e-mail bằng python imaplib1Gmail IMAP IDLE không hoạt động trên máy chủ Ubuntu0Nhận tất cả thư từ tài khoản gmail bằng python imaplib3Đọc email từ tài khoản gmail trong python3imaplib lỗi khi đọc Gmail0Chức năng tìm kiếm Python ImapLib không hoạt động Câu hỏi mạng nóng Tại sao sóng nước khó hủy lẫn nhau? Làm cách nào tôi có thể đưa người chơi trở lại thị trấn trước đây mà họ đã đến trong quá trình tạo nhân vật? Tôi có nên khiến nhân vật của mình nghi ngờ về một bước ngoặt sắp tới hay không? Tôi có nên sử dụng “a” hoặc “an” khi viết tắt một từ không? Cách tính toán kém hiệu quả của học sinh nên được chỉ ra như thế nào? Tại sao lại có robot trong Rocky IV? Điều gì giới hạn tốc độ ánh sáng trong thuyết tương đối hẹp nếu thông tin có thể truyền nhanh hơn ánh sáng giữa các thiên hà? AWS có cung cấp cách định tuyến lưu lượng HTTPS đến hai phiên bản EC2 khác nhau dựa trên đường dẫn thư mục không? Bạn có thể chia sẻ một số ảnh chụp màn hình bảng điều khiển của trình chỉnh sửa không? Làm thế nào để các cơ chế hóa học hữu cơ được chấp nhận nếu chúng không bao giờ được quan sát bằng thực nghiệm (như trong lý thuyết quỹ đạo phân tử ban đầu)? Donald Trump cần sự chấp thuận nào để xây dựng bức tường của mình? Nếu 60 bằng LX—— Tại sao không phải là 11 giờ sáng + 1 giờ == 12:00 trưa?

Làm việc với các tệp văn bản

Có một số cách để làm việc với tệp văn bản trong Python. Cách đơn giản nhất là mở tệp trong trình soạn thảo văn bản như Notepad hoặc TextEdit và nhập mã của bạn.

Một cách khác là sử dụng đối tượng tệp trong Python. Bạn có thể mở tệp bằng hàm open(), sau đó sử dụng các hàm read() và write() để đọc và ghi dữ liệu vào tệp tương ứng.

Cuối cùng, bạn có thể sử dụng mô-đun os.path để truy cập đường dẫn của tệp văn bản. Sau đó, bạn có thể sử dụng hàm gettext() để lấy thông tin về tệp, chẳng hạn như tên và kích thước của tệp.

thư điện tử Outlook

Outlook là ứng dụng email phổ biến được hàng triệu người trên thế giới sử dụng. Nó có sẵn trên nhiều nền tảng khác nhau, bao gồm Windows, MacOS và Linux. Outlook có một bộ tính năng phong phú cho phép bạn quản lý email, lịch và danh bạ của mình một cách dễ dàng. Trong hướng dẫn này, chúng ta sẽ thảo luận cách làm việc với email Outlook bằng Python.

Đầu tiên, bạn sẽ cần tạo một thể hiện của đối tượng Outlook. Bạn có thể thực hiện việc này bằng cách sử dụng chức năng Outlook() tích hợp sẵn:

Triển vọng = Triển vọng()

Tiếp theo, bạn sẽ cần tạo một thể hiện của đối tượng Email. Đối tượng này đại diện cho một email cá nhân trong hộp thư của bạn:

email = Email( 'Địa chỉ email của bạn' )

Sau đó, bạn có thể truy cập các thuộc tính và phương thức khác nhau của đối tượng Email:

email.subject() in (email.subject)

'Chào thế giới!'

bài viết liên quan:

Để lại một bình luận