Enviar mail com Interceptor

Olá, estou usando um interceptor para quando o usuario cadastrar no meu site ele receber um email de confirmação e eu também para saber que um usuario foi inscrito… S’p que somente eu estou recebendo o email, o usuario não recebe…

Alguém pode me ajudar?

então no meu
app/controllers/contatos_controller.rb

ContatoMailer.contato_confirmation(@contato).deliver

no meu
config/initializers/setup_mail.rb

require 'development_mail_interceptor'
ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "localhost:3000",
  :user_name            => "usuario",
  :password             => "secret",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

Mail.register_interceptor(DevelopmentMailInterceptor) if Rails.env.development?

no meu
lib/development_mail_interceptor.rb

class DevelopmentMailInterceptor
    def self.delivering_email(message)
      message.subject = "#{message.to} #{message.subject}"
      message.to = "admin@admin.com"
  end
end

no meu app/mailers/contato_mailer.rb

class ContatoMailer < ActionMailer::Base
  default :from => "admin@admin.com"
  def contato_confirmation(contato)
    @contato = contato
    mail(:to => "#{contato.nome} <#{contato.email}>", :subject => "Confirmação de Contato")
  end
end

GEM FILE
gem ‘rails’, '3.0.10’
gem 'activerecord-jdbcmysql-adapter’
gem 'jruby-openssl’
gem 'jruby-rack’
gem 'warbler’
gem 'brazilian-rails’
gem ‘jquery-rails’, '>= 1.0.12’
gem “date_validator”, "~> 0.6.2"
gem “mail”, “2.2.19”

Favor confirmar se é isso que está acontecendo:

  1. Chama o mailer:
  1. O email é montado com o seguinte codigo:
@contato = contato  
mail(:to => "#{contato.nome} <#{contato.email}>", :subject => "Confirmação de Contato")

Note que o :to está configurado com o email do seu contato
3) Antes do email ser enviado, o interceptor roda:

 message.subject = "#{message.to} #{message.subject}"  
message.to = "admin@admin.com"  
  1. Quando o interceptor roda ele substitui o :to configurado no passo 2 por admin@admin.com e o email chega apenas para você

O que você precisa fazer é adicionar um destinatário ao email e não trocar o destinatário existente.

Espero que ajude

abs

Obrigado por estar me ajudando, desde já agradeço, mas num entendi muito bem sua resposta, desulpe minha ignorancia, tentei buscar informaçoes no google mas nao encontrei nada ainda… estou fazendo esse exemplo baseado no railscast numero 206…

Como ficaria para eu trocar o destinatario

seria nessa linha do interceptor

message.to = "admin@admin.com"

ou no ContatoMailer
mail(:to => "#{contato.nome} <#{contato.email}>", :subject => "Confirmação de Contato")

Existe algum outro parametro no message?

O que eu quero fazer na verdade, é ir um email para mim e para o usuario que se cadastrar

Olá amigo, de acordo com a ajuda do jpjcjbr eu entendo o seguinte:

message.subject = "#{message.to} #{message.subject}"    
message.to = "admin@admin.com"  //Aqui você esta alterando o email destino para o do Admin e não mais para o usuário como estava antes.. 

Com isso apenas o Admin recebe o email… (se a linha 2 não existisse provavelmente o usuário receberia o email)

Mais pelo que entendi vc deseja enviar o mesmo email para você e para o usuário…

Nesse caso não sei se funciona mais tente o seguinte:

message.subject = "#{message.to} #{message.subject}"    
message.to = "#{message.to}; admin@admin.com" 

Até…