[ruby-list:46482] TMailライブラリの例外的な?使い方

From: Takayuki Suzuki <h-taka@...>
Date: 2009-10-22 10:35:46 UTC
List: ruby-list #46482
鈴木と申します。

TMailライブラリでFrom:のメールアドレスのlocal-partにピリオドが
3つ以上あるとfromメソッドの返値がnilになってしまいます。

RFCによるとピリオドの連続は許されないようにも読めるのですが、
現実的に送られてくるメールを処理したいので、ad hocなパッチで
もよいのでどなたかご教授願えないでしょうか。

% ruby --version
ruby 1.8.7 (2009-04-08 patchlevel 160) [i386-freebsd7.2]

TMailバージョン : 0.10.8

・取得に成功する例
pass.txt
-------------------------8<-------------------------
From: a..aaa@foo.co.jp
To: bbb@bar.co.jp
Subject: ssss^M
^M
^M
-------------------------8<-------------------------

irb(main):003:0> m=TMail::Mail.load('pass.txt')
=> #<TMail::Mail port=#<TMail::FilePort /tmp/pass.txt> bodyport=nil>
irb(main):004:0> m.from
=> ["a..aaa@foo.co.jp"]

・取得に失敗する例
fail.txt
-------------------------8<-------------------------
From: a...aaa@foo.co.jp
To: bbb@bar.co.jp
Subject: ssss^M
^M
^M
-------------------------8<-------------------------

irb(main):002:0> m=TMail::Mail.load('fail.txt')
=> #<TMail::Mail port=#<TMail::FilePort /tmp/fail.txt> bodyport=nil>
irb(main):003:0> m.from
=> nil

以上

In This Thread

Prev Next