2013-10-03 5 views
7

Aplikacja Rails 3.2.8 opracowana z kontem gmail jako "adres wysyłania". Podczas wysyłania poczty prace mój plik environment.rb zawiera to:Co powoduje błąd końca pliku, gdy Rails Mailer wysyła wiadomość e-mail?

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.smtp_settings = { 
    :address => "smtp.gmail.com",  
    :port => 587,       
    :domain => "gmail.com",    
    :authentication => :login,    
    :user_name => "accountname",   
    :password => "123456789"    
} 

otrzymuję tę wiadomość w moim dzienniku aplikacji: EOFError (koniec pliku osiągnięta): gdy powyższy kod zmienia się na to, co jest pokazane poniżej :

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.smtp_settings = { 
    :address => "mail.company.com", 
    :port => 25, 
    :domain => "company.com", 
    :authentication => :login, 
    :user_name => "accountname", 
    :password => "123456789" 
} 

mogę ci powiedzieć, że -am- stanie wysłać wiadomość e-mail do ręcznego adres email przybyć i zobaczyć to podczas korzystania z klienta poczty elektronicznej, takich jak Thunderbird, więc wiem nazwakonta @ spółka. com jest funkcjonalny.

Nie rozumiem, jak dochodzi do końca błędu pliku. Nie mogę również dowiedzieć się, jak uzyskać więcej informacji, które pojawią się w dzienniku.

Czekam z niecierpliwością na przeczytanie kilku sugestii dotyczących określenia przyczyny końca pliku.

Started POST "/sendInvites?locale=en&lot_id=18&user_id=17" for 99.99.99.99 at 2013-10-03 08:52:09 -0700 
Processing by WaitingListsController#sendInvites as HTML 
    Parameters: {"authenticity_token"=>"uwz/6pW1rLPXR4gU3m3OwCmU0O3DSJ/haNM2/ai+OR8=", "locale"=>"en", "lot_id"=>"18", "user_id"=>"17"} 
=======>>>> Beginning Send Invitation Process <<<<======= 
=======>>>> just before the PassEmailer.requestApprovedWL IS called to send the invitation <<<<======= 
>>>> Beginning ::: requestApprovedWL(user_info) <<<<======= 
    Rendered pass_emailer/requestApprovedWL.erb (0.9ms) 
>>>> at the end of ::: requestApprovedWL(user_info) <<<<======= 
Completed 500 Internal Server Error in 1718ms 

EOFError (end of file reached): 
    app/controllers/waiting_lists_controller.rb:276:in `sendInvites' 
+2

Podczas omawiania błędów, zawsze wklej cały ślad błędu. Dodaj cały błąd do swojego posta. – Momer

+0

Właśnie dostałem ten błąd w rozwoju, gdy nie miałem "mailcatchera" działającego w tle. To trochę kłopotliwe. – jrhorn424

+0

Nie jesteś jedyny. To jest ashame, nie ma rozwiązań. – JohnMerlino

Odpowiedz

1

Dla każdego, kto nadal występuje w tym wydaniu, Ilekroć domyślnie pojawia się produkcja. Używa zmiennych produkcyjnych (lub ich szuka) w trakcie rozwoju lub wdrażania. Ponadto na dokumentach nie ładuje środowiska Rails.

Podczas programowania lub przenoszenia należy ręcznie poinformować program schedule.rb o tym fakcie. Po znalezieniu metody File.expand_path here następujący sposób zacznę mój plik schedule.rb:

require File.expand_path(File.dirname(__FILE__) + "/environment") 
set :environment, Rails.env 
set :output, Rails.root.join('log','cron.log') 

To zapewnia środowisko Rails i pozwala także ustawić ścieżkę do logowania.

Powiązane problemy