鈴木と申します。
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@...
To:
bbb@...
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@..."]
・取得に失敗する例
fail.txt
-------------------------8<-------------------------
From:
a...aaa@...
To:
bbb@...
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
以上