From: Alex Eiras Date: 2009-04-23T19:59:58+09:00 Subject: Re: ActionMailer outside of Rails to send HTML mails --000e0cd29846b4107e046836c74a Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable > I am trying to build a small newsletter application. > I am however failing somehomw.. > > I am trying this simple sample code: > >
> require 'net/http'
> require 'rubygems'
> require 'action_mailer'
>
> recivers =3D []
> recivers =3D IO.readlines("mial.txt")
>
> h =3D Net::HTTP.new('http://...', 80)
> resp, @data =3D h.get('...', nil)
>
> ActionMailer::Base.default_content_type =3D "text/html"
> ActionMailer::Base.delivery_method =3D :smtp
> ActionMailer::Base.smtp_settings =3D {
>  :address  =3D> "...",
>  :port  =3D> 25,
>  :domain  =3D> '...'
> }
>
> class Emailer < ActionMailer::Base
>  def test_email(subject, user_email)
>    subject    subject
>    from       "..."
>    recipients user_email
>    body       :body =3D> @data
>  end
> end
>
> recivers.each do |reciver|
>        Emailer.deliver_test_email("Testing", reciver)
> end
> 
> > And when I run this I get NoMethodError: undefined method > =91find_template=92 for []:Array > > I suppose I have to have a template somewhere but I can't figure out > where to put it? > > All help welcome Use ActionMailer::Base.template_root =3D ... to set the path your email templates reside in. In your example, ActionMailer will search for a template named 'test_email' (plus extension) unless you provide a different one to render_message method. Hope it helps Cheers Alex --000e0cd29846b4107e046836c74a--