Disable Devise confirmable mails

Gawyn picture Gawyn · Nov 23, 2012 · Viewed 12.8k times · Source

Recently I added the confirmable module to my User class. I already have a quite nice mailing system (Sidekiq, Sendgrid...) in my app, so I created my own "confirm account" mail. The problem now is to disable Devise from sending its default email. Is there any way to completely disable the Devise mailing system?

Added:

  • I want to maintain the confirmable module, as I am using its attributes and routes.
  • I can't use skip_confirmation! because I want the users to confirm their account.
  • I just want to disable Devise mails.

Answer

Thilo picture Thilo · Nov 23, 2012

Use the source, Luke:

# lib/devise/models/confirmable.rb

# A callback method used to deliver confirmation
# instructions on creation. This can be overriden
# in models to map to a nice sign up e-mail.
def send_on_create_confirmation_instructions
  send_devise_notification(:confirmation_instructions)
end

So override this method in your model to do nothing.