2

ruby-mail を使ってメールを読んでいます。

メール本文を除いて、すべてが適切な読み取り可能な形式になっています。

メール本文は、他のエンコード形式として表示されます。

私のコードは次のとおりです。

Mail.defaults do
  retriever_method :pop3, :address    => "some.email.com",
              :port       => 995,
              :user_name  => 'domain/username',
              :password   => 'pwd',
              :enable_ssl => true
end


puts "From"
puts mail.from
puts "Sender:"
puts mail.sender
puts "To:"
puts mail.to              
puts "CC:"
puts mail.cc              
puts "Subject:"
puts mail.subject         
puts "Date:"
puts mail.date.to_s       
puts "MessageID:"
puts mail.message_id      
puts "Body:"
#puts mail.body

出力は次のとおりです。

legalholdnotification123@emc.com から

送信者:

宛先: bhavesh.sharma@emc.com

CC:

件名: case4: 訴訟ホールド通知

日付: 2012-04-24T14:46:25-04:00

メッセージ ID: 3298720.1335293185423.JavaMail.root@vm-bhaveshok7

体:

日付: 2012 年 5 月 5 日 (土) 09:45:08 -0700 Mime-Version: 1.0 Content-Type: テキスト/プレーン。charset=utf-8 Content-Transfer-Encoding: base64 Content-ID: <4fa559147a120_138455aab4289ac@USITHEBBASL2C.mail>

SGVsbG8gU2lyL01hZGFtLA0KDQpCcmllZiBpbnRyb2R1Y3Rpb24gdG8gdGhl IGNhc2UgY2FzZTQNCg0KV2UgaGF2ZSBpZGVudGlmaWVkIHlvdSBhcyBhIHBl cnNvbiB3aG8gbWF5IGhhdmUgImRvY3VtZW50cyIgLS0gd2hpY2ggaW5jbHVk ZXMgYm90aCBwaHlzaWNhbCBhbmQgZWxlY3Ryb25pYyBkb2N1bWVudHMgLS0g dGhhdCBhcmUgcmVsYXRlZCB0byB0aGlzIG1hdHRlci4gV2UgYXJlIGltcGxl bWVudGluZyBhIG1hbmRhdG9yeSBkb2N1bWVudCByZXRlbnRpb24gcG9saWN5 IHRvIHByZXNlcnZlIHRoZXNlIGRvY3VtZW50cy4gUGxlYXNlIGNhcmVmdWxs eSByZXZpZXcgdGhpcyBtZW1vcmFuZHVtIGFuZCBzdHJpY3RseSBhZGhlcmUg dG8gdGhlIG1hbmRhdG9yeSBkb2N1bWVudCByZXRlbnRpb24gcG9saWN5IG91 dGxpbmVkIGhlcmVpbi4gW0NvbXBhbnldIGNvdWxkIGJlIHN1YmplY3QgdG8g

SO私はメール本文を読むことができません。

メールを読むために必要なことは、本文からテキストを抽出し、メール本文内にあるリンクを使用する必要があることです。

バベシュ

4

3 に答える 3

4

メールジェムは本文を自動的にデコードしません。次を使用できます。

mail.message.body.decoded

デコードされたメッセージ本文を取得します。さらに、メッセージのHTML部分のプレーンにアクセスしたい場合があります。これを行うには、次のようなものを使用できます。

plain_part = message.text_part ? message.text_part.body.decoded : nil
html_part = message.html_part ? message.html_part.body.decoded : nil

message.body.decodedこれらのパーツが存在しない場合のフォールバックとして、を使用できます。

于 2012-05-08T08:50:24.510 に答える
0

メールgem を追加し、mail.parts[1].body.decoded でメール本文形式を使用するだけです

于 2015-01-05T18:58:44.387 に答える