Ruby on rails 使用Shoppe gem+发送电子邮件;轨道
正在尝试使用Shoppe gem发送接受订单电子邮件通知 production.rbRuby on rails 使用Shoppe gem+发送电子邮件;轨道,ruby-on-rails,ruby-on-rails-4,gem,actionmailer,Ruby On Rails,Ruby On Rails 4,Gem,Actionmailer,正在尝试使用Shoppe gem发送接受订单电子邮件通知 production.rb config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :user_name
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
不确定我遗漏了什么,但这可能很明显!(我以前从未设置过邮件收发员——我确实是一个noob:))
谢谢 我从未使用过Shoppe,但在ActionMailer中,我们必须调用方法
deliver
,才能发送电子邮件。试着改变
Shoppe::OrderMailer.accepted(@order)
到
如果我没有弄错的话,Shoppe在其订单控制器下的应用程序gemfile中内置了一个自动邮件器。(检查github回购协议以确认) 为了访问它,您应该使用邮件程序信息为生产设置配置文件 还要确保在“/shoppe/settings”上设置邮件程序
一旦您购买了产品,就会收到一封电子邮件。我有一个与OP类似的问题,我不完全确定您的解决方案需要什么。我已经设置了这是environment.rb:ActionMailer::Base.smtp\u settings={:user\u name=>ENV[“SEND\u GRID\u ACCOUNT”],:password=>ENV[“SEND\u GRID\u password”],:domain=>'mydomain.com',:address=>'smtp.sendgrid.net',:port=>587,:authentication=>:plain,:enable\u starttls\u auto=>true}并且可以通过rails c发送电子邮件,然后通过Shoppe::OrderMailer.received(order).deliver\u立即发送,但是我在通过站点完成订单时没有收到任何电子邮件。您可以检查服务器日志以查看是否有任何发送错误吗?您还可以确保在shoppe/settings中设置了相同的电子邮件吗?
Shoppe::OrderMailer.accepted(@order).deliver