我使用這個類行動梅勒軌郵件功能:覆蓋在的ActionMailer
class UserMailer < ActionMailer::Base
default from: "[email protected]",
reply_to: '[email protected]'
def mail_method
mail(to: '[email protected]', subject: "SUBJECT")
end
end
所以這樣我得到了很多類和發送電子郵件這樣從SMTP傳輸方法的方法。
但是現在我想執行交付,即僅在生產環境中發送電子郵件,而不是在開發或測試環境中。
因此,我只想使用我的電子郵件,這就是爲什麼我需要重寫郵件的方法。
我試過的東西。
- >將函數返回的電子郵件,其中函數名是get_right_email
class UserMailer < ActionMailer::Base
default from: "[email protected]",
reply_to: '[email protected]'
def mail_method
mail(to: get_right_email('[email protected]'), subject: "SUBJECT")
end
end
而且get_right_email的定義如下:
def get_right_email(email)
if(Rails.env=='production')
return email
else
return '[email protected]'
end
end
這將需要一些重構,但仍在可控範圍。將需要幾個小時,我可以做,但有一個更快的方式,我可以重寫郵件功能。
謝謝,它的偉大的發展。我可能會使用它。但是測試環境呢?測試服務器甚至沒有瀏覽器,即使有,也沒有人訪問它,因爲它是一個虛擬機實例。 – user1735921
你想在測試環境中發生什麼? – Eoghain
電子郵件應該在測試環境中發送給我 – user1735921