2015-07-21 72 views
0

我無法讓我的郵件程序在開發環境中工作。 這是我在development.rb配置:不在本地環境發送郵件

config.action_mailer.default_url_options = { host: 'localhost:3000' } 
config.action_mailer.perform_deliveries = true 

config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
    address: 'smtp.mandrillapp.com', 
    port: 587, 
    enable_starttls_auto: true, 
    user_name: '[email protected], 
    password: 'mypassword, 
    authentication: 'login', 
    domain: 'mandrill.com' 
} 

我的郵件方法:

class InformationRequestMailer < ActionMailer::Base 
    def information_request(operator, ref, property_url, contact_info) 
    @operator = operator 
    @property_url = property_url 
    mail(to: operator.email, subject: t("information_request_mailer.subject", property_ref: ref)) 
    end 
end 

在這裏,我稱之爲:

InformationRequestMailer.delay.information_request(
    operator: operator, 
    ref: ref, 
    property_url: property_url, 
    contact_info: params[:contact_info] 
) 

在此先感謝。

+0

您是否在日誌中發現任何錯誤?我也會假設你在配置的密碼字段中輸入了''''。 –

+0

什麼是OS dev env正在運行?它有'sendmail'或者像是已安裝的? – mudasobwa

+0

@JustinWood,我完全沒有錯。是的,密碼有相應的結尾'。我會在這裏解決這個問題.. – ntonnelier

回答

0

如果你有一個當前Rails版本,這應該工作:

InformationRequestMailer.information_request(
    operator: operator, 
    ref: ref, 
    property_url: property_url, 
    contact_info: params[:contact_info] 
).deliver_later 

既然你要使用的延期交貨,你需要有你的隊列運行工人。

+0

謝謝@Yury,但它不採用這種方法。應該是我上面描述的方式。我使用rails 4.1.1 – ntonnelier

+0

@ntonnelier好吧,它沒有'延遲'工作嗎? –

+0

不,@Yury,它不。 – ntonnelier