write the following code in development.rb

config.action_mailer.raise_delivery_errors = false

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:tls => true,
:enable_starttls_auto => true,
:address => 'smtp.gmail.com',
:port => 587,
:authentication => :plain,
:user_name => '[email protected]',
:password => 'password'
}


in emailer model write the following code:

class Emailer < ActionMailer::Base

def contact(recipient, subject, message, sent_at = Time.now, files=[])
      @subject = subject
      @recipients = recipient
      @from = '[email protected]'
      @sent_on = sent_at
  @body["title"] = 'This is title'
    @body["email"] = '[email protected]'
     @body["message"] = message
      @headers = {}

  files.each do |file|
    attachment "application/octet-stream" do |a|
      a.body = file.read
      a.filename = file.original_filename
    end unless file.blank?
  end

   end
end



create one view and follow the code:



<h1>Send Email</h1>
<% form_for(:emailer, @emailer, :url=>{:action=>'sendmail'},
:html=>{:multipart=>true}) do |f| %>
<%= f.error_messages %>

<p><label for="email_subject">Subject</label>:
<%= text_field 'email', 'subject' %></p>
<p><label for="email_recipient">Recipient</label>:
<%= text_field 'email', 'recipient' %></p>
<p><label for="email_message">Message</label><br/>
<%= text_area 'email', 'message' %></p>
<p><label for="file_upload">Upload</label><br/>
<%= file_field 'email', 'file' %></p>
<%= submit_tag "Send" %>
<% end %>



write the code in the controller:



class EmailerController < ApplicationController
   def index

   end
   def sendmail

@uploaded_files = []
email = params["email"]
 puts email["file"]
@uploaded_files << email["file"]
  recipient = email["recipient"]
  subject = email["subject"]
  message = email["message"]
      Emailer.deliver_contact(recipient, subject, message, @uploaded_files)
      return if request.xhr?
  @email = recipient
  @subject = subject
  @message = message
       render :file => 'app\views\emailer\contact.rhtml'
   end



end

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to