Рубиновая почта появляется с EOFError
Я получаю EOFError (End Of File Error) этого кода в контроллере. Блок, где появляется ошибка, находится в конце строки, которая говорит UserMailer.deliver_message(
Я не знаю, как это исправить, я застрял около 2 месяцев, и этот сайт был предложен. Пожалуйста, помогите.
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
Вот файл сообщения:
<%= @message.name %> has sent feedback or a question:
Message: <%= @message.body %>
From: <%= @message.email %>
И вот UserMailer
class UserMailer < ActionMailer::Base
def message(mail)
subject 'Feedback/Questions'
recipients '[email protected]'
from 'webmaster'
body mail
end
end
Хорошо, вот ошибка, которую я получаю
EOFError в PedalsController # contact
конец достигнутого файла
и вот трассировка приложения
/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'
Возможно, мне не хватает чего-то действительно глупого, но если кто-то может ответить на этот вопрос, это будет потрясающе. Кроме того, каково мое исправление?
Ответы
Ответ 1
Хорошо, спасибо, ребята, у меня на самом деле был неправильный код в UserMailer. Фактический код, который у меня был на линии, имел < > encasing адрес электронной почты и имел имя отправителя снаружи. Хотя это работало на некоторых частных почтовых серверах, на которых я работал/работал, он не работает на Hostmonster. Soo, для всех, кто в конечном итоге использует Hostmonster, все упрощает настройку вашей почтовой программы (сообщение может быть сложным, но SMTP Config должен быть простым). Спасибо.
Ответ 2
Это также может случиться, если сервер SMTP не работает. (Я использую стороннюю почтовую программу с именем Sendgrid, и это произошло однажды, когда она полностью прекратилась)
Ответ 3
Если вы используете "ZOHO" для отправки электронной почты,
одна из причин, по которым у меня была проблема с этим.
- Вы должны использовать действительное значение
from
. В моем случае я использовал не существующую учетную запись электронной почты
default from: "[email protected]"
поэтому сервер zoho не позволяет отправлять электронную почту, которая вызывает ошибку EOF.
- Вы должны разрешить настройки IMAP на ZOHO
![НАСТРОЙКА IMAP ДЛЯ ZOHO]()
Ответ 4
Вам нужно пройти аутентификацию на почтовый сервер?
: authentication = > : plain (если это так),
: enable_starttls_auto = > true
Ответ 5
Это проблема с вашим SMTP.
Почтовый сервер подключается к SMTP и не может закрыть его.