All always prefer to use devise in my application. But the problem is emails. Devise send emails synchronously but if you want to send then asynchronously here is a quick tip for you. Use devise-async gem.
Now enable module in your model ie
By default devise-asyn use resque so if you are not using resque then set your queuing backend by creating config/initializers/devise_async.rb:
Thats it. Now this will send all the devise emails via delayed job or rescue or any other background jobs.
Make sure your devise-asyn gem is below devise gem else you will get an error like: