Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用Shoppe gem+发送电子邮件;轨道_Ruby On Rails_Ruby On Rails 4_Gem_Actionmailer - Fatal编程技术网

Ruby on rails 使用Shoppe gem+发送电子邮件;轨道

Ruby 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

正在尝试使用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
不确定我遗漏了什么,但这可能很明显!(我以前从未设置过邮件收发员——我确实是一个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