adsmart / radiant-mailer-extension forked from radiant/radiant-mailer-extension

An extension for Radiant CMS that allows you to create 'contact us' and other mail-bound forms.

This URL has Read+Write access

name age message
file .gitignore Tue Sep 30 11:53:15 -0700 2008 Add .gitignore for svn files. [seancribbs]
file README.rdoc Thu Nov 27 06:32:06 -0800 2008 Merged in changes from Aissac's tree. [jstirk]
file Rakefile Fri Oct 03 07:07:22 -0700 2008 Add specs for tags. [seancribbs]
directory app/ Loading commit data...
directory lib/
file mailer_extension.rb Tue Sep 30 13:51:21 -0700 2008 Add some tags, make mail forms postable to the ... [seancribbs]
directory spec/ Wed Feb 11 18:33:37 -0800 2009 Add specs testing the behavior of the Reply-To ... [moklett]
README.rdoc

Mailer Extension for Radiant

The Mailer extension enables form mail on a page.

Usage

You can define email templates using pages parts (email, and/or email_html). You configure the recipients and other Mailer settings in a "mailer" part:

  subject: From the website of Whatever
  from: noreply@example.com
  redirect_to: /contact/thank-you
  recipients:
    - one@one.com
    - two@two.com

The following tags are available to help you build the form:

  <r:mailer:form name=""> ... </r:mailer:form>
  <r:mailer:text name="" />
  <r:mailer:checkbox name="" />
  <r:mailer:radio name="" />
  <r:mailer:radiogroup name=""> ... </r:mailer:radiogroup>
  <r:mailer:select name=""> ... </r:mailer:select>
  <r:mailer:date_select name=""/>
  <r:mailer:textarea name=""> ... </r:mailer:textarea>
  <r:mailer:option name="" />

When processing the form (in email and email_html), the following tags are available:

  <r:mailer:get name="" />
  <r:mailer:get_each name=""> ... </r:mailer:get_each>
    <r:mailer:index />

Simple example of a form:

  <r:mailer:form>
   <r:mailer:hidden name="subject" value="Email from my Radiant site!" /> <br/>
    Name:<br/>
   <r:mailer:text name="name" /> <br/>
    Message:<br/>
   <r:mailer:textarea name="message" /> <br/>
   <input type="submit" value="Send" />
  </r:mailer:form>

User-provided Configuration

Sometimes, rather than explicitly configuring the recipients and such in the mailer part, you’d rather have them passed in by the person submitting the form. Mailer supports this by allowing you to specify a form field to pull the value from:

  from_field: my_form_field_that_contains_the_from_email_address

Then you just have to add that field to your mailer form and you’re all set.

This is supported for the from (from_field), recipients (recipients_field) and reply_to (reply_to_field) properties.

Enabling action_mailer

In environment.rb you’ll probably need to change:

  config.frameworks -= [ :action_mailer ]

to:

  config.frameworks -= []

Caveats

Relative urls will almost certainly not work if the mailer fails validation. Solution? Only use absolute urls.

History

Created by: M@ McCray - mattmccray.com

  Version: 0.2.1
  Contact: mmccray@elucidata.net

Ported to ‘mental’ by: Sean Cribbs - seancribbs.com

  Version: 0.1
  Contact: seancribbs@gmail.com

Seriously restructured by: Nathaniel Talbott - terralien.com

  Version: 0.2
  Contact: nathaniel@terralien.com
  Work sponsored by: Ignite Social Media, http://ignitesocialmedia.com/

Todo

  • Support for file attachments to emails
  • Tests