Problema para mandar correo desde mi aplicacion!

Saludos a la comunidad!!
tengo un problema con mi aplicación la cual es que quiero mandar un
información en un correo. Para hacerlo hice los siguientes pasos:

1.estoy utilizando para mandar correo gmail junto con ruby para hacerlo
segui las instruciones que estan en la siguiete pagina:

2.luego en mi configuration/enviroment.rb coloque el siguiente código
que también lo explica la pagina:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ’smtp.gmail.com’,
:port => 587,
:user_name => ‘[email protected]’,
:password => ‘your_secret_word’,
:authentication => :plain
}

3.hice un metodo en mi aplicación el cual tiene como nombre emailer.rb
class Emailer < ActionMailer::Base
end

class Emailer < ActionMailer::Base
 def contact(recipient, subject, message, sent_at = Time.now)
    @subject = subject
    @recipients = recipient
    @from = '[email protected]'
    @sent_on = sent_at
@body["title"] = 'Esto es una prueba'
  @body["email"] = '[email protected]'
   @body["message"] = message
  @headers = {}

end
end

4.tengo una vista la cual tiene como nombre correo.rhtml
<% form_tag :action => ‘sendmail’ do %>

Subject: <%= text_field 'emailer', 'subject' %>

Recipient: <%= text_field 'emailer', 'recipient' %>

Message
<%= text_area 'emailer', 'message' %>

<%= submit_tag "Send" %> <% end %>

5.y por ultimo en mi controlador tengo el siguiente código:
def sendmail
email = ‘[email protected]
recipient = ‘[email protected]
subject = ‘hola’
message = ‘Esto es una prueba’
Emailer.deliver_contact(recipient, subject, message)
return if request.xhr?
render :text => ‘Message sent successfully’
end

como pueden ver yo ya estoy poniendo el contenido de las variables
email, recipient, subject y message para ver si funciona. Cuando ejecuto
mi aplicacion no me da ningun tipo de erro pero no me manda el correo
pues entro a mi cuenta de gmail y no tengo nada. Si alguien me puede
ayudar o tiene algun link para poder guiarme se los agradesco de
antemano…

Por favor alguna ayuda???

PD: asi quedo mi enviroment.rb

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

hice en mi vista una carpeta emailer la cual tiene un archivo que se
llama contact.html.erb para ver que es lo que pasa cuando en el
controller se ejecuta el sendmail y tengo el siguiete error:
555 5.5.2 Syntax error. 7sm5671143hsx.1
/usr/lib/ruby/1.8/net/smtp.rb:680:in check_response' /usr/lib/ruby/1.8/net/smtp.rb:653:ingetok’
/usr/lib/ruby/1.8/net/smtp.rb:635:in rcptto' /usr/lib/ruby/1.8/net/smtp.rb:546:insend0’
/usr/lib/ruby/1.8/net/smtp.rb:545:in each' /usr/lib/ruby/1.8/net/smtp.rb:545:insend0’
/usr/lib/ruby/1.8/net/smtp.rb:472:in sendmail' /usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.0/lib/action_mailer/base.rb:629:inperform_delivery_smtp’
/usr/lib/ruby/1.8/net/smtp.rb:379:in start' /usr/lib/ruby/1.8/net/smtp.rb:316:instart’
/usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.0/lib/action_mailer/base.rb:627:in
perform_delivery_smtp' /usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.0/lib/action_mailer/base.rb:508:insend
/usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.0/lib/action_mailer/base.rb:508:in
deliver!' /usr/lib/ruby/gems/1.8/gems/actionmailer-2.1.0/lib/action_mailer/base.rb:383:inmethod_missing’
app/controllers/prueba_controller.rb:17:in `sendmail’
Parameters:
{“commit”=>“Send”,
“authenticity_token”=>“ea99055708557e6a18f41948bf2cd66e76db5d49”,
“email”=>{“message”=>“Que funcione”,
“recipient”=>“[email protected]”,
“subject”=>“Saludos”}}

alguna ayuda es que de verdad necesito una aplicacion que mande un
correo a traves de rails… :frowning:

Te recomiendo que lo hagas por esta guia [1], a mi me funciono bien.

[1]
http://www.danielfischer.com/2008/01/09/how-to-use-gmail-as-your-mail-server-for-rails/

On Tue, Jul 15, 2008 at 5:20 PM, Juan M. <

Juan P. wrote:

Te recomiendo que lo hagas por esta guia [1], a mi me funciono bien.

[1]
http://www.danielfischer.com/2008/01/09/how-to-use-gmail-as-your-mail-server-for-rails/
Hola Juan P. leí el post que me dejaste y sigo teniendo problemas
para mandar un correo te cuento lo que hice para ver si me puedes ayudar
de antemano muchas gracias!!!
1.en mi config/enviroment.rb quedo de la siguiente forma:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :sendmail
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
:address => “smtp.gmail.com”,
:port => 587,
:domain => “gmail.com”,
:user_name => “[email protected]”,
:password => “xxxxxxx”
:authentication => :plain
}

2.mi mailer.yml
development:
authentication: plain
address: smtp.gmail.com
port: 587
domain: gmail.com
user_name: [email protected]
password: xxxxxxx
exception_recipient: [email protected]
exception_sender: ActiveBudget [email protected]

3.en mi config/initializers/smptp_gmail.rb

require “vendor/plugins/smtp_tls”
mailer_config = File.open("#{RAILS_ROOT}/config/mailer.yml")
mailer_options = YAML.load(mailer_config)
ActionMailer::Base.smtp_settings = mailer_options

4.el modelo
class Emailer < ActionMailer::Base
def contact (recipient, subject, message, sent_at = Time.now)
@subject = subject
@recipients = recipient
@from = “myemail”
@sent_on = sent_at
@body[“title”] = ‘Aviso importante’
@body[“email”] = ‘otroemail’
@body[“message”] = message
@headers = {}
end
end

5.en el controller
def sendmail
email = params[“email”]
recipient = email[recipient]
subject = email[subject]
message = email[message]
Emailer.deliver_contact(recipient, subject, message)
return if request.xhr?
render :text => ‘Mensaje enviado’
end

El programa parece mandar el correo pero nunca me llega!!!

Preguntas:::
7.en el config/environments/test.rb en la linea
config.action_mailer.delivery_method = :development o dejaste la que
estaba :test?
8.en produccion.rb en la linea
config.action_mailer.raise_delivery_errors = true o le dejaste en false?
Amigo si me puedes ayudar de verdad te lo agradezco es que necesito
terminar mi aplicación, de antemano muchísimas gracias :slight_smile:

Juan,

Justo hoy Jaime I. escribió en su blog un post [1] sobre esto.

Por lo que recuerdo, en el enviroment no tienes que poner nada de
ActionMailer, la conflagración va en el mailer.yml.
El plugin tiene un ejemplo que te va a ser de ayuda.

[1]
http://www.jaimeiniesta.com/2008/07/16/envio-de-correos-a-traves-de-gmail-con-rails/

2008/7/16 Juan M. [email protected]:

Juan,

Justo hoy Jaime I. escribió en su blog un post [1] sobre esto.
http://www.jaimeiniesta.com/2008/07/16/envio-de-correos-a-traves-de-gmail-con-rails/

2008/7/16 Juan M. [email protected]:

Amigo gracias por el dato pero sigo con errores instale el plugin tal
cual dice el blog del amigo jaime hice los pasos que el menciona y
todo!! pero para mi el error lo tengo soy yo y te digo porque mira esto
es lo que yo tengo:
class Emailer < ActionMailer::Base
def contact (recipient, subject, message, sent_at = Time.now)
@subject = subject
@recipients = recipient
@from = “myemail”
@sent_on = sent_at
@body[“title”] = ‘Coste Telefonia’
@body[“email”] = ‘otroemail’
@body[“message”] = message
@headers = {}
end
end

en mi controller tengo el siguiente codigo:
def sendmail
email = params[“email”]
recipient = email[recipient]
subject = email[subject]
message = email[message]
Emailer.deliver_contact(recipient, subject, message)
return if request.xhr?
render :text => ‘Mensaje enviado’
end

en mi vista:

Prueba <% form_tag :action => 'sendmail' do %>

Subject: <%=text_field 'email', 'subject'%>

Recipient: <%=text_field 'email', 'recipient'%>

Message

<%=text_area 'email', 'message', :cols => 80, :rows =>10%> <%= submit_tag "Send" %> <% end %>

ok la pregunta es la siguiente cuando escribo alguna cosa para probar el
programa pongo un subject, recipent y el mensaje y le doy click al boton
no me da ningun tipo de error es mas me dice que el mensaje fue enviado
y reviso mi cuenta de gmail pues estoy haciendo una prueba con mi propio
correo y no me llega ningun correo, si me puedes ayudar para ver si
tengo un error en mi model o en el controller pues en la vista no creo
que sea!!!
Gracias de antemano y te agradesco cualquier ayuda!!!

Que te muestra el log?

2008/7/16 Juan M. [email protected]:

Juan P. wrote:

Que te muestra el log?

2008/7/16 Juan M. [email protected]:

en el development.log: (en los demas nada!!)
Processing CorreoController#index (for 127.0.0.1 at 2008-07-16 14:53:08)
[GET]
Session ID: 20159c3c887a739aab854f3fb7fe9112
Parameters: {“action”=>“index”, “controller”=>“correo”}
Redirected to http://localhost:3000/correo/correo
Completed in 0.00594 (168 reqs/sec) | DB: 0.00000 (0%) | 302 Found
[http://localhost/correo]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:53:08) [GET]
Session ID:
BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==–732d742cb1fe67699cfa750f09404a8490ced8b3
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.00753 (132 reqs/sec) | Rendering: 0.00310 (41%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:53:36) [GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.00726 (137 reqs/sec) | Rendering: 0.00321 (44%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#sendmail (for 127.0.0.1 at 2008-07-16
14:53:59) [POST]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“commit”=>“Send”,
“authenticity_token”=>“8fd1b21da74c4859bf61e5d99802712f3964579c”,
“action”=>“sendmail”, “controller”=>“correo”, “email”=>{“message”=>“esto
es lo que hago!!!”, “recipient”=>“[email protected]”, “subject”=>“Dios
que funcione”}}
Sent mail to

Date: Wed, 16 Jul 2008 15:53:59 -0530
From: myemail
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8

Hola!

Tienes un email de otroemail con titulo

Coste Telefonia
y el siguiente mensaje:

Gracias.
Completed in 2.44166 (0 reqs/sec) | Rendering: 0.00040 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/sendmail]

Processing CorreoController#index (for 127.0.0.1 at 2008-07-16 14:58:29)
[GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“index”, “controller”=>“correo”}
Redirected to http://localhost:3000/correo/correo
Completed in 0.00542 (184 reqs/sec) | DB: 0.00000 (0%) | 302 Found
[http://localhost/correo]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:58:29) [GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.01075 (93 reqs/sec) | Rendering: 0.00224 (20%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#sendmail (for 127.0.0.1 at 2008-07-16
14:59:07) [POST]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“commit”=>“Send”,
“authenticity_token”=>“8fd1b21da74c4859bf61e5d99802712f3964579c”,
“action”=>“sendmail”, “controller”=>“correo”, “email”=>{“message”=>“esto
es lo que hago”, “recipient”=>“[email protected]”, “subject”=>“juan”}}
Sent mail to

Date: Wed, 16 Jul 2008 15:59:07 -0530
From: myemail
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8

Hola!

Tienes un email de otroemail con titulo

Coste Telefonia
y el siguiente mensaje:

Gracias.
Completed in 2.21831 (0 reqs/sec) | Rendering: 0.00073 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/sendmail]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:59:23) [GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.01240 (80 reqs/sec) | Rendering: 0.00389 (31%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:59:26) [GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.00691 (144 reqs/sec) | Rendering: 0.00173 (25%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#correo (for 127.0.0.1 at 2008-07-16
14:59:28) [GET]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“action”=>“correo”, “controller”=>“correo”}
Rendering correo/correo
Completed in 0.07944 (12 reqs/sec) | Rendering: 0.07481 (94%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/correo]

Processing CorreoController#sendmail (for 127.0.0.1 at 2008-07-16
15:10:20) [POST]
Session ID:
BAh7BzoMY3NyZl9pZCIlYjUyMzc4NjdjNTc0MjE5MGEwMTE3ZjRiY2MxMDcz
NjEiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh
c2h7AAY6CkB1c2VkewA=–a9747fc152c3f5e28989bad4bc5861d72f3e546f
Parameters: {“commit”=>“Send”,
“authenticity_token”=>“8fd1b21da74c4859bf61e5d99802712f3964579c”,
“action”=>“sendmail”, “controller”=>“correo”, “email”=>{“message”=>"",
“recipient”=>"", “subject”=>""}}
Sent mail to

Date: Wed, 16 Jul 2008 16:10:21 -0530
From: myemail
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8

Hola!

Tienes un email de otroemail con titulo

Coste Telefonia
y el siguiente mensaje:

Gracias.
Completed in 2.45119 (0 reqs/sec) | Rendering: 0.00071 (0%) | DB:
0.00000 (0%) | 200 OK [http://localhost/correo/sendmail]

Por lo que dice el log, el tema no es de ActionMailer, sino que estas
pasando mal los parametros. El correo no tiene destinatario, tendrias
que
probar ponerlos a mano para ver si action mailer esta bien, y si el
correo
llega tenes quer revisar como estas resiviendo los parametros en el
controlador, creo que no esta bien.

On Wed, Jul 16, 2008 at 5:07 PM, Juan M. <

Juan P. wrote:

Por lo que dice el log, el tema no es de ActionMailer, sino que estas
pasando mal los parametros. El correo no tiene destinatario, tendrias
que
probar ponerlos a mano para ver si action mailer esta bien, y si el
correo
llega tenes quer revisar como estas resiviendo los parametros en el
controlador, creo que no esta bien.

Amigo muchas pero muchas GRACIAS PERO GRACIAS LISTO!!!
si todo lo que me digiste y el blog que me distes funciona a la
perfecion el error era mio no le estaba pasando el parametro del
destinatario ya funciona bien!!! como decimos en mi tierra (Gracias
Compadre!!!)

PD: si alguien lee este post todo funciona a la perfecion para mandar
emails con rails y gmail, solo se tiene que seguir los pasos que comenta
Juan P. y mas nada lo demas esta aqui el post!!!

Gracias Juan P.!!!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs