Paul Wright
2008-Nov-17 11:13 UTC
[Tmail-talk] TMail fails to parse bad email address in email but succeeds on TMail::Address.parse
Hi all,
I submitted the following as a bug on RubyForge[1] but was wondering
if anyone knows a workaround in the interim?
We just came across this in an internal application that uses TMail to
parse email. Is the following expected behaviour?
#!/usr/bin/env ruby
bad_address = ''Foo... <foo at example.com>''
test_email = <<MAIL
From: #{bad_address}
To: "Good Address" <good at example.com>
Subject: A Subject line
Here''s a mail body. Lovely.
MAIL
mail = TMail::Mail.parse(test_email)
p mail.from
p TMail::Address.parse(bad_address).to_s
p TMail::Address.parse(bad_address).spec
output:
nil
"\"Foo...\" <foo at example.com>"
"foo at example.com"
We''re using TMail bundled inside Rails (2.1.2) and version.rb is 1.2.3
Further investigation has found that any address name ending in a
period will trigger this bug.
Cheers,
Paul.
[1] -
http://rubyforge.org/tracker/index.php?func=detail&aid=22771&group_id=4512&atid=17370
Mikel Lindsaar
2008-Nov-17 11:41 UTC
[Tmail-talk] TMail fails to parse bad email address in email but succeeds on TMail::Address.parse
On Mon, Nov 17, 2008 at 10:13 PM, Paul Wright <tmail-talk at wrighty.com>wrote:> We''re using TMail bundled inside Rails (2.1.2) and version.rb is 1.2.3 > Further investigation has found that any address name ending in a > period will trigger this bug.Yes, this was a known bug. Any address name that ends in a period will fail. However, this has been fixed in the latest trunk version of TMail. You can grab it with: svn co svn+ssh://mikel at rubyforge.org/var/svn/tmail/trunk trunk And copy over the lib/tmail/address.rb file into your rails app. It should work fine. By the way, the following tests pass in Trunk: def test_dot_in_address() validate_case__address\ %Q(Minero A. <aamine at loveruby.net>), :name => "Minero A.", :display_name => "Minero A.", :address => %Q(aamine at loveruby.net), :comments => nil, :domain => ''loveruby.net'', :local => %Q(aamine), :format => %Q("me at my_place" <aamine at loveruby.net>) validate_case__address\ %Q(mikel . <mikel at lindsaar.net>), :name => "mikel .", :display_name => "mikel .", :address => %Q(mikel at lindsaar.net), :comments => nil, :domain => ''lindsaar.net'', :local => %Q(mikel), :format => %Q("mikel ." <mikel at lindsaar.net>) validate_case__address\ %Q("mikel ." <mikel at lindsaar.net>), :name => "mikel .", :display_name => "mikel .", :address => %Q(mikel at lindsaar.net), :comments => nil, :domain => ''lindsaar.net'', :local => %Q(mikel), :format => %Q("mikel ." <mikel at lindsaar.net>) validate_case__address\ %Q(mikel "." <mikel at lindsaar.net>), :name => %Q(mikel .), :display_name => %Q(mikel .), :address => %Q(mikel at lindsaar.net), :comments => nil, :domain => ''lindsaar.net'', :local => %Q(mikel), :format => %Q(mikel "." <mikel at lindsaar.net>) end -- http://lindsaar.net/ Rails, RSpec and Life blog.... -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/tmail-talk/attachments/20081117/fb117e2d/attachment-0001.html>
Mikel Lindsaar
2008-Nov-17 12:35 UTC
[Tmail-talk] TMail fails to parse bad email address in email but succeeds on TMail::Address.parse
OK.... Hold that thought... just found a bug which will stop this working. I am fixing it now. Mikel -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/tmail-talk/attachments/20081117/bcde64d2/attachment.html>