尝试使用Shoppe gem发送已接受的订单电子邮件通知。
production.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => ENV['chbrown1293'],
:password => ENV['*******'],
:authentication => "plain",
:enable_starttls_auto => true
}
订购控制器
def payment
gon.client_token = generate_client_token
@order = Shoppe::Order.find(current_order.id)
@result = Braintree::Transaction.sale(
amount: current_order.total,
payment_method_nonce: params[:payment_method_nonce])
if @result.success?
Shoppe::OrderMailer.accepted(@order)
current_order.destroy
redirect_to root_url, notice: "Payment successful, congratulations!"
end
end
不确定我错过了什么,但可能很明显! (我以前从未设置过邮件 - 我确实是一个菜鸟:))
谢谢!
答案 0 :(得分:1)
我没有使用过Shoppe,但在ActionMailer中,我们必须调用方法deliver
才能发送电子邮件。尝试更改
Shoppe::OrderMailer.accepted(@order)
到
Shoppe::OrderMailer.accepted(@order).deliver
答案 1 :(得分:1)
如果我没有弄错的话,Shoppe在它的订单控制器下有一个自动邮件内置到应用程序的gemfile中。 (检查github repo确认)
要访问它,您应该使用邮件程序信息设置生产配置文件。
还要确保在“/ shoppe / settings”
上设置邮件程序只要您购买,就应该收到一封电子邮件。