TMail - The Mail Handling Library for Ruby!
TMail is the Ruby Mail handler used in the
Ruby on Rails and Nitro web frame works as
well as many others (now including, the Ruby
Talk mail gateway!).
TMail is now a gem. You can install it on any
gem install tmail
Alternatively you can download the source code
or view extra documentation at the website:
Note for Ruby on Rails Users - as of Rails 2.0 RC1,
ActionMailer has a patch applied which will make
it use the installed Gem version of TMail if the
gem version is higher than the bundled TMail
inside of ActionMailer. So installing this gem
will also patch ActionMailer automagically.
New release handles three tickets in the TMail
tracker as well as a lot more documentation and
removes an unnecessary c-library.
One of the tickets was a scanner bug and is fairly critical
to anyone who is not using the C version of the scanner
routines (read, anyone using TMail in ActionMailer or
on Windows etc.)
Release Update Details:
Closed 16025 - TMail scanner.rb would not parse ATOM
chars correctly making it fail tests where the C version
passed them. Fixed this by updating the Scanner.rb
version to be in step with the C version (there was
an extra @ symbol in the ATOM CHARS definition
that was not in the C version.)
Closed 15445 - TMail::Mail#create_forward now returns
a new Mail object that has the original mail as an
encoded 7 bit multipart attachment. Also moved
create_forward and create_reply from tmail/net
into tmail/interface as it makes more sense to have
Closed 15643 - TMail::Mail#reply_addresses was
returning an empty array if reply_to was set to nil
(ie, the header field existed but was empty) instead
of returning the from address or default.
Removed base64.c after doing profiling on several
platforms and finding out that the Ruby inbuilt
version is just as fast (varies per platform but
all in all about the same speed.)
Renamed the Scanner_C extension to MailScanner.
New release adds extensive new documentation to
mainly the TMail::Mail class, approximately 500
lines of examples have been included in the RDoc.
Added a default value to TMail::Mail#sender method
to allow arbitrary defaults to be passed into the
method in alignment with all the other mail interface
Made base64_decode and base64_encode into ! versions
as they are destructive on the mail body (encodes the
body to base64 or decodes it), made aliases for
base64_decode and base64_encode to point back to the
bang versions. Doing this with a view to change
base64_encode to a non destructive version
(returns the encoded body) in future versions.
See the changelog for previous changes.
Bug Reports / Fixes:
As always, we really welcome any bug reports or code
for patches you have created. Please submit anything
you find through our RubyForge tracker project which
you can get to from our website:
We hope you enjoy this release!
Mikel & Trans
The TMail Team.