2

在Spree 3.0中,「郵件方法設置」默認不可用。發送郵件需要SMTP發件人地址。設置消息smtp_envelope_from,return_path,發件人或地址

的Rails 4.2.0

使用「寶石 'spree_mail_settings',github上: '大禮包-的contrib/spree_mail_settings',分支: '3-0-穩定'」 在配置在管理面板一個環節產生菜單「郵件方法設置」。

所有配置完成。但是,當點擊「測試郵件」按鈕時,它會給出錯誤 「發送郵件需要SMTP發件人地址,請設置郵件smtp_envelope_from,return_path,發件人或來自地址。

+0

我建議不要使用spree_mail_settings並使用ActionMailer配置您的郵件。 spree_mail_settings適用於較早版本的Spree,並且由於此類混淆而從主代碼庫中刪除。我的猜測是spree_mail_settings尚未針對Rails 4.2進行更新。如果你打算使用它,你應該在項目上提出問題。 – gmacdougall

回答

0

我認爲這個答案是一個徹頭徹尾的黑客,但這是我如何通過我的測試這個問題。我必須在order_mailer.confirm_email方法中將'from_address'硬編碼到我將在管理部分輸入的內容。這裏是我的代碼:

def confirm_email(order, resend = false) 
    @order = order.respond_to?(:id) ? order : Spree::Order.find(order) 
    subject = (resend ? "[#{Spree.t(:resend).upcase}] " : '') 
    subject += "#{Spree::Store.current.name} #{Spree.t('order_mailer.confirm_email.subject')} ##{@order.number}" 
    mail(to: @order.email, from: '[email protected]', subject: subject) 
    end 

你會覺得應該有設置測試配置此值的簡單的方法,但我不能弄明白。

相關問題