2014-07-12 46 views
1

我有超級簡單郵件:發送郵件需要SMTP To地址。設置消息smtp_envelope_to,要,CC或BCC地址

class Mailer < ActionMailer::Base 
    def welcome_email(email) 
    @email = email 
    mail to: email, subject: "[#{I18n.t 'email_subject_welcome'}" 
    end 
end 

但是當我[email protected]運行測試,我得到這個錯誤:

An SMTP To address is required to send a message. Set the message smtp_envelope_to, to, cc, or bcc address.

Email is present

這裏應該做些什麼?

+1

這個錯誤通常出現在你必須:電子郵件無或空..無論如何,你需要檢查你的電子郵件變量是否爲零,實際上是一個電子郵件。 – rmagnum2002

+0

屏幕截圖更新顯示電子郵件存在 – squixy

回答

1

問題:

class SandboxEmailInterceptor 
    def self.delivering_email(message) 
    message.to = Rails.application.secrets.your_email 
    end 
end 

ActionMailer::Base.register_interceptor(SandboxEmailInterceptor) unless Rails.env.production? 

secrets.ymlyour_email: <%= ENV["YOUR_EMAIL"] %>,我application.yml蒙山電子郵件失蹤。

1

你是怎麼在Rspec中調用它的?如果你還沒有弄清楚,請發佈該代碼。這聽起來像可變的電子郵件是零。由於發生攔截

+0

我打電話給ServiceObject,它實際上調用Sidekiq,然後調用Mailer。如上例所示,電子郵件地址不是零。 – squixy

相關問題