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 }