Forum: Ruby on Rails Sending email with attachment

Ce14206b729afc6ac1d4c454eb434af0?d=identicon&s=25 CiriusMex (Guest)
on 2011-01-28 03:14
(Received via mailing list)
Hello, I'm trying to create a function to send mail with an attached
file. After an hour reading rails documentation and a few intents I
can't figure out this error:

undefined local variable or method 'attachments' for Emailer:Class

Here comes the code of the mail creation function:

class Emailer < ActionMailer::Base
   ...
   def Emailer.sendMailBCCWithAttachments(recipient, subject, message,
from, newsletter)
       attachments[newsletter.filename] = File.read("#{RAILS_ROOT}/
public#{newsletter.filepath}")

       mail(
         :subject => subject,
         :bcc => recipient,
         :from => from,
         :content_type => "text/html; charset=utf-8",
         :body => message,
         :sent_on => Time.now
       )
   end
   ...
end

And here is how I use it:
# Create the mail
mail = Emailer.sendMailBCCWithAttachments(recipients,
newsletter.subject, message, "newsletter@winecorner.com", newsletter)
# Sends it
mail.deliver

Any idea?
6883e5ef03484d4fcef507d7b4f1d243?d=identicon&s=25 Matt Jones (Guest)
on 2011-01-28 23:24
(Received via mailing list)
On Jan 27, 9:13pm, CiriusMex <cirius...@gmail.com> wrote:
>  def Emailer.sendMailBCCWithAttachments(recipient, subject, message,
> from, newsletter)

Haven't used the 3.0 ActionMailer much yet, but the docs say that
sendMailBCCWithAttachments (and seriously, this isn't Java -
underscores FTW! :) ) shouldn't be a class method, but rather an
instance method (lose the 'Emailer.' part).

--Matt Jones
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.