diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
commit | db045dbbf60b53dbe013ef25554fd013baf88134 (patch) | |
tree | 257830e3c76458c8ff3d1329de83f32b23926028 /actionmailer/README | |
download | rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.gz rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.bz2 rails-db045dbbf60b53dbe013ef25554fd013baf88134.zip |
Initial
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionmailer/README')
-rwxr-xr-x | actionmailer/README | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/actionmailer/README b/actionmailer/README new file mode 100755 index 0000000000..263da4f401 --- /dev/null +++ b/actionmailer/README @@ -0,0 +1,102 @@ += Action Mailer -- Easy email delivery and testing + +Action Mailer is framework for designing email-service layers. These layers +are used to consolidate code for sending out forgotten passwords, welcoming +wishes on signup, invoices for billing, and any other use case that requires +a written notification to either a person or another system. + +The framework works by setting up all the email details, except the body, +in methods on the service layer. Subject, recipients, sender, and timestamp +are all set up this way. An example of such a method: + + def signed_up(recipient) + @recipients = recipient + @subject = "[Signed up] Welcome #{recipient}" + @from = "system@loudthinking.com" + @sent_on = Time.local(2004, 12, 12) + + @body["recipient"] = recipient + end + +The body of the email is created by using an Action View template (regular +ERb) that has the content of the @body hash available as instance variables. +So the corresponding body template for the method above could look like this: + + Hello there, + + Mr. <%= @recipient %> + +And if the recipient was given as "david@loudthinking.com", the email +generated would look like this: + + Date: Sun, 12 Dec 2004 00:00:00 +0100 + From: system@loudthinking.com + To: david@loudthinking.com + Subject: [Signed up] Welcome david@loudthinking.com + + Hello there, + + Mr. david@loudthinking.com + +You never actually call the instance methods like signed_up directly. Instead, +you call class methods like deliver_* and create_* that are automatically +created for each instance method. So if the signed_up method sat on +ApplicationMailer, it would look like this: + + ApplicationMailer.create_signed_up("david@loudthinking.com") # => tmail object for testing + ApplicationMailer.deliver_signed_up("david@loudthinking.com") # sends the email + ApplicationMailer.new.signed_up("david@loudthinking.com") # won't work! + + +== Dependencies + +Action Mailer requires that the Action Pack is either available to be required immediately +or is accessible as a GEM. + + +== Bundled software + +* tmail 0.10.8 by Minero Aoki released under LGPL + Read more on http://i.loveruby.net/en/prog/tmail.html + +* Text::Format 0.63 by Austin Ziegler released under OpenSource + Read more on http://www.halostatue.ca/ruby/Text__Format.html + + +== Download + +The latest version of Action Mailer can be found at + +* http://rubyforge.org/project/showfiles.php?group_id=361 + +Documentation can be found at + +* http://actionmailer.rubyonrails.org + + +== Installation + +You can install Action Mailer with the following command. + + % [sudo] ruby install.rb + +from its distribution directory. + + +== License + +Action Mailer is released under the MIT license. + + +== Support + +The Action Mailer homepage is http://actionmailer.rubyonrails.org. You can find +the Action Mailer RubyForge page at http://rubyforge.org/projects/actionmailer. +And as Jim from Rake says: + + Feel free to submit commits or feature requests. If you send a patch, + remember to update the corresponding unit tests. If fact, I prefer + new feature to be submitted in the form of new unit tests. + +For other information, feel free to ask on the ruby-talk mailing list (which +is mirrored to comp.lang.ruby) or contact mailto:david@loudthinking.com.
\ No newline at end of file |