rails for ruby-on-rails ruby smtp sendmail actionmailer

ruby-on-rails - for - send mailer rails



Ruby Mailer viene con un EOFError (5)

¿Tienes que autenticarte al servidor de correo?

: authentication =>: plain (si es así),: enable_starttls_auto => true

Estoy obteniendo un error EOFError (error de fin de archivo) en este código en mi controlador. El bloque donde aparece el error se encuentra al final de la línea que dice UserMailer.deliver_message( no sé cómo solucionarlo, me quedé bloqueado durante aproximadamente 2 meses y sugerí este sitio. Por favor, ayuda.

def contact @title= "Contact Us" if request.post? @message= Message.new(params[:contact]) if @message.valid? UserMailer.deliver_message( :message => @message ) flash[:notice] = "Thank you for contacting us" redirect_to contact_url end end end

Aquí está el archivo de mensaje:

<%= @message.name %> has sent feedback or a question: Message: <%= @message.body %> From: <%= @message.email %>

Y aquí está el UserMailer

class UserMailer < ActionMailer::Base def message(mail) subject ''Feedback/Questions'' recipients ''Email@email'' from ''webmaster'' body mail end end

Muy bien aquí está el error que recibo

EOFError en PedalsController # contact

final del archivo alcanzado

Y aquí está la traza de la aplicación.

/usr/lib64/ruby/1.8/net/protocol.rb:135:in `sysread'' /usr/lib64/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'' /usr/lib64/ruby/1.8/timeout.rb:62:in `timeout'' /usr/lib64/ruby/1.8/timeout.rb:93:in `timeout'' /usr/lib64/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'' /usr/lib64/ruby/1.8/net/protocol.rb:116:in `readuntil'' /usr/lib64/ruby/1.8/net/protocol.rb:126:in `readline'' /usr/lib64/ruby/1.8/net/smtp.rb:911:in `recv_response'' /usr/lib64/ruby/1.8/net/smtp.rb:897:in `getok'' /usr/lib64/ruby/1.8/net/smtp.rb:921:in `critical'' /usr/lib64/ruby/1.8/net/smtp.rb:895:in `getok'' /usr/lib64/ruby/1.8/net/smtp.rb:828:in `mailfrom'' /usr/lib64/ruby/1.8/net/smtp.rb:653:in `sendmail'' $HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:684:in `perform_delivery_smtp'' /usr/lib64/ruby/1.8/net/smtp.rb:526:in `start'' $HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:682:in `perform_delivery_smtp'' $HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:523:in `__send__'' $HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:523:in `deliver!'' $HOME/blueflower/vendor/rails/actionmailer/lib/action_mailer/base.rb:395:in `method_missing'' $HOME/blueflower/app/controllers/pedals_controller.rb:36:in `contact''

Tal vez me esté perdiendo algo realmente estúpido, pero si alguien puede responder esto, sería increíble. Además, ¿cuál es mi solución?


Bien, gracias chicos, en realidad tenía un código con formato incorrecto en el UserMailer. El código real que tenía en la línea desde tenía un <> encerrando una dirección de correo electrónico y tenía el nombre del remitente en el exterior. A pesar de que ha funcionado en algunos de los servidores de correo electrónico privados que he usado / en los que trabajo, no funciona en Hostmonster . Entonces, para cualquier persona que termine usando Hostmonster en el futuro, mantenga todo sobre la configuración de sus correos electrónicos (el mensaje puede ser complicado pero la configuración SMTP debe ser simple). Gracias.


Es un problema con su SMTP.

El remitente se conecta por SMTP con él y no puede cerrar correctamente el zócalo.


Esto también puede suceder si el servidor SMTP está inactivo. (Utilizo un correo de terceros llamado Sendgrid y esto sucedió una vez cuando se desactiva por completo)


Si está utilizando "ZOHO" para enviar correo electrónico,

Una de las razones por las que tuve un problema con esto fue.

  1. Debe utilizar un valor válido from . En mi caso, usé un default from: "[email protected]" cuenta de correo electrónico no existente default from: "[email protected]" por lo tanto, el servidor zoho no permite que se envíe el correo electrónico, lo que causa un error EOF.
  2. Debe permitir la configuración IMAP en ZOHO