Mailit is a simple to use library to create and send MIME compliant e-mail with attachments and various encodings.

This is a fork of MailFactory and provides a mostly identical API but has been cleaned up, simplified, and made compliant to common Ruby idioms. I would like to thank David Powers for the original MailFactory, it served me well for many years.

Copyright (c) 2005-2008 David Powers. Copyright (c) 2009 Michael Fellinger.

This program is free software. You can re-distribute and/or modify this program under the same terms as Ruby itself.


Any Ruby since 1.8.4 should work. Mailit can use the Rack or Mime::Types libraries to determine the mime-type of attachments automatically, but they are optional.

Usage of Mailit::Mail

require 'net/smtp'
require 'mailit'

mail = = '[email protected]'
mail.from = '[email protected]'
mail.subject 'Here are some files for you!'
mail.text = 'This is what people with plain text mail readers will see'
mail.html = "A little something <b>special</b> for people with HTML readers'

puts mail

Usage of Mailit::Mailer

Using the mail variable from above example

mailer =

mailer.send(mail, :server => '', :port => 25,
            :domain => '', :password => 'foo')


MailFactory has a method_missing that handles getting and setting of arbitrary headers. I went for the less magical #[] and #[]= methods, maybe someone can add the MailFactory behaviour.

Thanks to

  • Michael Thompson (AKA:nylon)

Making mailer work on windows