Mail_merge is a project mainly written in Ruby, it's free.
Mail Merge ruby gem
= mail_merge
Mail Merge Gem
Parses a string and replaces specified merge fields with the evaluated result:
[Usage]
[Examples]
content = "Welcome to ::site.name::, ::user.full_name::!"
merged_content = MailMerge.merge(content, {:site => @site, :user => @user}, ['::site.name::', '::user.full_name::']) # Basic example
merged_content = MailMerge.merge(content, {:site => @site, :user => @user}) # This will evaluate any merge fields that start with 'site' or 'user'
merged_content = MailMerge.merge(content, {:site => @site, :user => @user}, ['site.name', 'user.full_name'], "~~") # Using your own delimeter
content = "Welcome, ::[user-1].full_name::!" merged_content = MailMerge.merge(:content => content, :allow_dynamic => true) # This will call find on any fields wrapped in [] (Ex. User.find(1).full_name)