用户注销或浏览器关闭后发送电子邮件

时间:2015-10-06 10:26:49

标签: ruby-on-rails

我应该在注销后或关闭浏览器/浏览器标签后立即向用户发送电子邮件。你能建议一些跨浏览器的解决方案吗?

1 个答案:

答案 0 :(得分:2)

我认为您可以使用window.onbeforeunload向您的服务器发送ajax查询:

window.onbeforeunload = function(){
   $.get('/controller_to_handle_action_mailer')
}

之后你需要创建控制器,它将使用普通的ActionMailer发送电子邮件。

另一个不错的选择是添加websocket连接。您需要探索em-websocket gem。

只需使用此代码:

EM.run {
  EM::WebSocket.run(:host => "0.0.0.0", :port => 8080) do |ws|
    # code to sign in

    ws.onclose { ActionMailer.implement_it_stuff }
  end
}