Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using Rails and Devise, I want to send a welcome email on sign up.

How can I send a welcoming email to the user when they sign up? I'm using the Devise gem for authentication. SMTP is already set up. I just need to understand how to extend devise to send emails.

NOTE - this is not confirmation email!

UPD Solution:

class User < ActiveRecord::Base
  after_create :send_welcome_email 

  private

    def send_welcome_email
      UserMailer.deliver_welcome_email(self)
    end
end
like image 850
Vitaly Avatar asked Oct 12 '10 18:10

Vitaly


2 Answers

Add a callback (after_create ) in the model or observer to send the email using normal mailer methods.

like image 151
David Lyod Avatar answered Nov 04 '22 19:11

David Lyod


FYI, in Rails 3 it's:

class User < ActiveRecord::Base
  after_create :send_welcome_email 

  private

    def send_welcome_email
      UserMailer.welcome_email(self).deliver
    end 
end
like image 36
Chris Chattin Avatar answered Nov 04 '22 20:11

Chris Chattin