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 

你会觉得应该有设置测试配置此值的简单的方法,但我不能弄明白。

相关问题