Mail, TMail, The Future of Ruby Email Handling
Thu Sep 17 11:29:43 -0700 2009
You may know I maintain the TMail library. Well, recently I’ve been working on the next version.
TMail was getting hard to maintain and monkey patch. It’s implementation does not take into account many little things that create a problem when trying to get Ruby 1.9 compatibility working.
Anyway, I started working on Mail… code speaks louder than words… so Mail can do the following right now:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Mail.defaults do smtp '127.0.0.1' end Mail.deliver do to 'nicolas@test.lindsaar.net.au' from 'Mikel Lindsaar <mikel@test.lindsaar.net.au>' subject 'First multipart email sent with Mail' text_part do body 'Here is the attachment you wanted' end html_part do content_type 'text/html; charset=UTF-8' body '<h1>Funky Title</h1><p>Here it is</p>' end add_file :filename => '/path/to/myfile.pdf' end |
And you just sent a multipart text and html email with an attachment!
Mail is my attempt to just HANDLE the problem of Ruby Email handling.
I developed it from the ground up with complete spec coverage… I am not quite at 100%... but very close. It is also a completely object oriented design and pure ruby too!
Mail tries it’s darn hardest not to crash. In fact it already checks every email in the TMail test suite and doesn’t crash once on parsing any of the emails in there.
In any case, I now have pretty much all the basic email and mime and attachment handlings working. Next up is handling multiple character sets in the header and body.
You are welcome to check it out from my GitHub account
It’s version 0.1 right now… but expect to see the multi character set support soon.
Forks and patches welcome!
Mikel
Leave a Reply
Latest posts
- rake RSpec & Cucumber uninitialized constant Rails::Boot::Bundler
- This Relationship is Worth Nothing
- Thank YOU...
- Inline Attachments for ActionMailer
- Upgrading RailsPlugins.org to Rails 3 - Part 1
- Stripping dollar signs and commas from a string
- Getting Rails 3 Edge with jQuery, RSpec and Cucumber using RVM
- Action Mailer, go Proc thyself
- The Real News Donation Drive
- ActionMailer ScreenCast and Article
- Installing RSpec for Rails 3
- I am speaking at RailsConf 2010
- Rails 3 Session Secret and Session Store
- If you're lazy and you know it write your specs!
- Bundler - uninitialized constant ActionController
- Bundle Me Some Sanity
- How to use Mail / ActionMailer 3 with GMail SMTP
- Put your mailer where the action is!
- Why Force a Choice?
- How to make an RSS feed in Rails
- Rails 3 Routing with Rack
- Bundle me some Rails
- Helping out in Haiti
- Watch your self
- Is Rails 3.0 a Game Changer?
- Where did the scripts go?
- validates :rails_3, :awesome => true
- New Rails Version 3.0 Guides Online
- New ActionMailer API in Rails 3.0
- Mail gem version 2 released
- How to rename a Rails 3 Application
- Rails 3.0 Examples
- DECCA Driving Day
- Mail now merged into ActionMailer
- Tip #29 - Stop a Mongrel (or any) Service in Windows
- Ruby on Rails Tips Page
- Monitoring a DAHDI or Zaptel Channel
- Mail gets some compliments!
- Rails Unit Tests: uninitialized constant error
- New Mail gem released
- Mail and Bounced Emails
- Custom Music on Hold for Asterisk
- Always getting an invalid authenticity token error
- Windows ipconfig does not show anything
- FreeBSD rc scripts
- How to monitor a logged in professional
- TMail Moves to GIT
- Funny...
- How to reset a sequence with PostgreSQL
Latest comments
- ferrisoxide
Hey Mikel Thanks for the hea...
- B
@im - try this (from RSoC): htt...
- ferrisoxide
Hey Mikel Thanks for the hea...
- Ian Alexander Wood
Just a quick update on this exc...
- Daze
The command is "rails new app_n...
Categories
Tag Cloud
AJAX ARGH! ActiveRecord Ajax Apache Apple Asterisk Australia Copy Database Development Feedburner Gem server Google Human Rights Javascript L. Ron Hubbard MS SQL Server MacOSX Mail Mephisto Not Programming OpenBSD Opensource Performance Personal Integrity PostgreSQL Programming Prototype Puzzle RDoc REST RESTful Rails RSPec RSpec Rails Rails Tips Rspec Ruby Ruby on Rails Ruby on Rails Tips Ruby on rails Tips SQL SQLServer SVN Scientologist Scientology Site Stats Soekris Soekris net5501 TMail Textmate Tips Windows World about mikel anti drug apache contributing daemon documentation drugs illustrator javascript lambda mail mephisto newspapers nitro open source opensource photoshop productivity programming railscasts rspec ruby ruby on rails rubyforge scientology seo sitemap sqlserver tips tmail tom cruise unix tricks vector graphicsArchives
- November 2009 (1)
- October 2009 (2)
- September 2009 (2)
- August 2009 (0)
- July 2009 (1)
- June 2009 (0)
- May 2009 (1)
- April 2009 (0)
- March 2009 (0)
- February 2009 (0)
- January 2009 (2)
- December 2008 (0)
- November 2008 (5)
- October 2008 (0)
- September 2008 (1)
- August 2008 (0)
- July 2008 (2)
- June 2008 (13)
- May 2008 (7)
- April 2008 (18)
- March 2008 (8)
- February 2008 (5)
- January 2008 (7)
- December 2007 (20)
- November 2007 (22)


Tue Sep 22 16:32:47 -0700 2009
After struggling with TMail in my current Rails app I would appreciate it very much to have a modern Mail gem.
But please, don’t forget the old TMail gem until it’s fully replaced by Mail. I tried to install the TMail gem from github without luck. I have described the issue here: http://github.com/mikel/tmail/issues#issue/4
It seems it’s not easy to use the current fixes of TMail and replace the embedded gem of ActionMailer.