2014-11-04 6 views
4

Rails 4.1.6 (로컬 개발)과 함께 이메일을 보내고 있지만 아무것도 작동하지 않는다고 생각합니다. (당일 소인 유효)를 사용하여 나는 내 development.rb 및 application.rb에 다음과 같은 한 :Rails 4 actionmailer가 이메일을 보내지 않음

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 
config.action_mailer.delivery_method = :postmark 
config.action_mailer.postmark_settings = { :api_key => API_KEY } 
config.action_mailer.perform_deliveries = true 

을하고 GMAIL을 위해 내가 시도 :

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 
config.action_mailer.perform_deliveries = true 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    address:    'smtp.gmail.com', 
    port:     587, 
    domain:    'gmail.com', 
    user_name:   'my_email', 
    password:    'my_password', 
    authentication:  'plain', 
    enable_starttls_auto: true } 

내 메일러 클래스는 그래서 다음과 같습니다

class BusinessMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def claim_business business 

    mail(
     :subject => 'hello', 
     :to  => '[email protected]mail.com', 
     :from => '[email protected]', 
     :html_body => '<strong>Hello John Doe<strong>', 
     :track_opens => 'true' 
    ) 

    end 
end 

마지막으로 다음을 통해 이메일을 보냅니다. BusinessMailer.claim_business @business

claim_business 메서드 오류 메시지없이 내 콘솔에 BusinessMailer#claim_business: processed outbound mail in 14.1ms이 표시됩니다. 아무도 내가 여기에서 놓친 것을 말해 줄 수 있습니까?

+1

'config.action_mailer.raise_delivery_errors = true'를 추가하고 무슨 일이 일어나는지보십시오. – blelump

+1

@blelump 콘솔에 추가 출력이 없으므로 표준 '처리 된 아웃 바운드 메일' –

+2

OK,'BusinessMailer.claim_business (@business) .deliver'? – blelump

답변

16

결국 이메일을 보내려면 deliver 메서드가 없습니다. 시도해보십시오 :

BusinessMailer.claim_business(@business).deliver 
+2

감사합니다. 변화가있는 것 같습니다. ActionMailer 클래스 내에서 전달 메서드를 사용했습니다. 그것은 괜찮 았어 - 그럼 4.2.3로 업그레이 드를 보내고 그것은 조용히 실패했다. 호출 클래스에 퍼팅하면 .. – Tim

관련 문제