Có lẽ hôm nay tôi đã có một bộ não xấu, nhưng đột nhiên tôi không thể tìm ra cách để đọc một email với thư viện net/imap của ruby. Tôi đã ở đó trong vài giờ. Tôi đã gõ một số biến thể của "ruby imap read body" vào google và đã khám phá nhiều trang web. Tất cả đều có ví dụ về cách kéo tệp đính kèm, đồng bộ hóa máy chủ e-mail, làm việc với gmail v.v ... Một số (như chilkat) thực sự là thư viện phần mềm chia sẻ thực hiện việc này cho bạn. Tôi đã xem tài liệu net/imap và mặc dù có một số ví dụ để làm mọi thứ nhưng đọc văn bản nội dung.Cách đọc văn bản nội dung của email bằng thư viện net/imap của ruby?
Tôi đã làm việc với net/imap trước đây nhưng tôi chỉ cần kéo các tệp đính kèm trong hộp thư đến vào một thư mục. Tôi đã yêu cầu #ruby và #rubyonrails không có kết quả - không ai có thể hiểu được.
imap=Net::IMAP.new('mail.xks.com') #of course these are not real
imap.login('web1_xk3','pxx2006')
imap.select('INBOX')
imap.search(["SENTSINCE",(Time.now-1.day).strftime("%d-%b-%Y")]).each do |msgid|
body = imap.fetch(msgid,"BODY")[0].attr["BODY"]
##insert code for getting the text from the body here
##body.class is BodyTypeText
end
P.S. Mặc dù tôi làm cho một tham chiếu đến hỗ trợ tích cực trong các mã, đây là sans-ray do đó có nghĩa không có hành động bưu phẩm
Đá quý 'mail' có bất kỳ phụ thuộc nào cho 'xoauth' hay không bởi vì khi tôi theo mã của bạn, nó sẽ phát ra lỗi' loại xác thực không xác định - "XOAUTH2" '. Tôi đang làm 'yêu cầu 'net/imap'' và' yêu cầu mail' trước mã của bạn – Jashwant
ah, vâng, xin lỗi về điều đó. Để sử dụng XOAUTH2 của Google, bạn cần có ['gmail_xoauth'] (https://github.com/nfo/gmail_xoauth) gem – Andrew
Ồ, tôi đã sử dụng plugin đó nhưng sau khi xem bài đăng của bạn, tôi nghĩ rằng plugin tuyệt vời này với quá trình xác thực XOAUTH2, vì vậy hãy loại bỏ điều đó. Tôi đang sử dụng cả hai. 'gmail_xoauth' để xác thực và' mail' để quản lý thư theo cách tốt hơn. Làm việc tốt! – Jashwant