Подтвердить что ты не робот

Rails EOFError (конец файла достигнут) при сохранении созданного пользователя

Я получаю эту ошибку при создании при попытке создать пользователя (я использую самородку разработки).

EOFError (end of file reached):

Я ударил эту проблему раньше, и это было связано с моими настройками smtp с использованием zoho mail.

Я считаю, что моя конфигурация ниже - это проблема:

ActionMailer::Base.delivery_method = :smtp  
ActionMailer::Base.smtp_settings = {            
  :address              => "smtp.zoho.com", 
  :port                 => 465,              
  :domain               => 'example.com',   
  :user_name            => '[email protected]',
  :password             => 'password',         
  :authentication       => :login,
  :ssl                  => true,
  :tls                  => true,
  :enable_starttls_auto => true    
}

Теперь мы добавили SSL на сайт, и я считаю, что именно это вызывает эту ошибку.

Есть ли у кого-нибудь представление об этой ошибке или настройках smtp для zoho mail с SSL?

4b9b3361

Ответ 1

Эта ошибка вызвана тем, что мои config/initializers/devise.rb не указали правильный адрес электронной почты для config.mailer_sender.

Ответ 2

Также! Я сделал эту дополнительную ошибку и имел ту же проблему: я использовал свой собственный домен вместо домена почтового сервера для переменной "domain".

Ваша переменная среды должна быть:

GMAIL_DOMAIN=gmail.com

Или для примера выше:

:domain => 'gmail.com',

Ответ 3

Здесь работает рабочий вызов pony.

Pony.mail({
      :to => '[email protected]',
      subject: "Pony ride",
      body: "Awesome!",
      from: "[email protected]", # this MUST be the sending Zoho email.

      :via => :smtp,
      :via_options => {
        :address        => 'smtp.zoho.com',
        :port           => '465',
        :enable_starttls_auto => true,
        ssl: true,
        :user_name      => '[email protected]', # MUST be identical to :from.
        :password       => 'yourStrongPw',
        :authentication => :login,
      }
    })

Ответ 4

Я нашел одну причину ошибки здесь = > fooobar.com/info/178567/...

Но это не решило мою проблему. Хотя я не получал никаких ошибок, мои письма все еще не работали через Zoho, поэтому я нашел другое решение, которое отлично работает для моих нужд...

1) Подключите Zoho к gmail с помощью SMTP. Я настраиваю свою электронную почту zoho как псевдоним для моей личной учетной записи gmail, поэтому zoho электронной почты отправляются в gmail, и я могу ответить им в gmail из моего zoho адреса электронной почты. Это должно быть сделано так или иначе, так что вам никогда не придется входить в зоо. Просто сделайте все по электронной почте из gmail.

2) Подключите ActionMailer к учетной записи Gmail NOT zoho.

config.action_mailer.smtp_settings = {
    :address                          => 'smtp.gmail.com',
    :port                                 => 587,
    :user_name                     => ENV["gmail_username"],
    :password                       => ENV["gmail_password"],
    :authentication                => :plain,
    :enable_starttls_auto     => true
}

Теперь мне просто нужно указать значения и в значениях в почтовом устройстве, например:

def notify_admin (message_details)
    @message_details = message_details
    mail(to: "[email protected]", subject: "Contact form filled out by: " + message_details[:name], from: message_details[:email])
end

Это работает, когда я хочу отправлять электронные письма себе, как это показано выше, когда кто-то отправляет контактную форму.

Он также работает, когда я хочу отправить электронное письмо из своего домена, например, когда он заполнит свинцовый магнит. Все, что я сделал, это переключить на: и с: адреса.