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.
- Debe utilizar un valor válido
from
. En mi caso, usé undefault from: "[email protected]"
cuenta de correo electrónico no existentedefault 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. - Debe permitir la configuración IMAP en ZOHO