/many-mailers

Support for multiple SMTP servers in ActionMailer

Primary LanguageRubyMIT LicenseMIT

ManyMailers
===========

Multiple SMTP servers for ActionMailer.

Example
=======

  ProjectMailer.with_settings(:internal) do |mailer|
    mailer.deliver_notification(blah)
  end

You can also specify servers to use in the event that the initially specified
server fails:

  ProjectMailer.with_settings(:internal, :retry => [:backup, :default]) do |mailer|
    mailer.deliver_notification(blah)
  end

USE
===

Create a YAML file in your config directory named "mail_servers.yml" Put
your mail settings in there like so (see mail_servers.yaml in this plugin's 
test directory for a better example):

  |default:
  |  address: mail.example.com
  |  port: 25
  |  domain: example.com
  |  user_name: test_user
  |  password: test_password
  |
  |internal:
  |  address: internal.example.com
  |  port: 25
  |  domain: example.com
  |  user_name: test_user
  |  password: test_password
    
The plugin will look for a server named "default" to use by default. Make sure
it exists.

ActionMailer::Base (and all of its subclasses, ie, your mailers) will use this
server by default.

TODO
====

* Per-mailer settings (non-global)
* ActionMailer::Base#with_settings shouldn't modify SMTP settings for other
  mailers besides the one that called it.
  

Copyright (c) 2008 Animoto Productions, released under the MIT license