Sending confirmation emails to registered users in ROR app via localhost

前端 未结 3 663
时光取名叫无心
时光取名叫无心 2020-12-20 07:21

In my ROR app, I am trying to send confirmation emails to my registered users when they signup, my website is on localhost currently. I am getting this error:



        
相关标签:
3条回答
  • 2020-12-20 07:53

    This is your user_mailer.rb

    user_mailer.rb
    
    class UserMailer < ActionMailer::Base
      def registration_confirmation(user)
        recipients   user.email
        from         "myemailid@gmail.com"
        subject      "Thank you for registration"
        body         :user => user  
      end
    

    Try instead:

    class UserMailer < ActionMailer::Base
      default from: "myemailid@gmail.com"
    
      def registration_confirmation(user)
        mail(to: user.email, subject: "Thank you for registration")
      end
    end
    

    And set up the appropriate view in views/user_mailer e.g. registration_confirmation.html.erb

    0 讨论(0)
  • 2020-12-20 08:11

    What version of Rails are you using?

    Sending of email changed in version 3.2 (I believe)

    http://api.rubyonrails.org/classes/ActionMailer/Base.html

    Try:

    UserMailer.registration_confirmation(@user).deliver

    0 讨论(0)
  • 2020-12-20 08:13

    ** development.rb**

    config.action_mailer.delivery_method = :sendmail
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
    

    ** Users_controller.rb **

    def new
      UserMailer.registration_confirmation(@user).deliver
    end
    def create
      @user = User.new(params[:user])
      if @user.save
        UserMailer.registration_confirmation(@user).deliver
        sign_in @user
        flash[:success] = "Welcome!"
        redirect_to @user
      else
        render 'new'
      end
    end
    

    ** User_mailer.rb **

     def registration_confirmation(user) 
       @message = 'whatever you want to say here!'
       mail(:from => "myemailid@gmail.com", :to => user.email, :subject => "Thank you for registration")
    end
    

    **/app/views/user_mailer/registration_confirmation.text.erb *

    <%= @message %>
    

    That's what I've done in my development mode, and it works

    0 讨论(0)
提交回复
热议问题