rails for ruby-on-rails email actionmailer

ruby on rails - for - rails, acción de correo no enviado



send mailer rails (2)

Asegúrese de tener esta opción establecida en su config/environments/development.rb :

config.action_mailer.delivery_method = :smtp

Además, en ActionMailer::Base.smtp_settings necesita especificar una cuenta válida de gmail. Copiar y pegar (asciicasts) no lo va a cortar aquí.

Consulte esta pregunta para referencia: Envío de correo con Rails 3 en el entorno de desarrollo

Soy un completo principiante en Rails y estoy tratando de enviar un correo electrónico después de que alguien se registre usando Actionmailer.

Mis registros dicen que el correo electrónico está enviando, pero gmail nunca lo consigue

config / initializers / setup_mail.rb

ActionMailer::Base.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => "asciicasts.com", :user_name => "asciicasts", :password => "secret", :authentication => "plain", :enable_starttls_auto => true }

mailers / user_mailer.rb

class UserMailer < ActionMailer::Base default :from => "[email protected]" def registration_confirmation(user) mail(:to => user.email, :subject => "Registered") end end

controladores / users_controller.rb

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

¡Gracias!


En lugar de ''smtp'' puedes usar ''sendmail''

ActionMailer::Base.delivery_method = :sendmail ActionMailer::Base.sendmail_settings = { :address => "smtp.gmail.com", :port => "587", :domain => "gmail.com", :user_name => "[email protected]", :password => "yyy", :authentication => "plain", :enable_starttls_auto => true }