rails gema current_user create ruby-on-rails devise actionmailer confirmation

ruby-on-rails - gema - rails devise login



¿Cómo configuro la confirmación de correo electrónico con Devise? (3)

¿Has mirado la Guía de los Raíles de ActionMailer ?

¿Hay algún tutorial que explique cómo configurar el correo electrónico de confirmación de suscripción de Devise desde cero (tanto en desarrollo como en producción), es decir, si no tiene configurado el programa de acción de correo electrónico?

La búsqueda en Google acaba de mostrar un montón de piezas separadas relacionadas con esto. Ninguna pieza explica lo suficiente, y no estoy seguro de cómo encajan. ¿Hay una explicación paso a paso por ahí, o incluso algo que explica los pasos iniciales?

Finalmente lo conseguí trabajando. Seguí todos los pasos en la respuesta aceptada a continuación, luego agregué lo siguiente a mi archivo environment.rb:

ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :tls => true, :address => "smtp.gmail.com", :port => 587, :domain => "gmail.com", :authentication => :login, :user_name => "[username]", :password => "[password]" }


Creo que deberías editarlo una vez más ... puerto no. debería estar entre comillas .. Me gusta esto:

:port => "587",

Enfrenté un problema en Rails 3.2.0 / ruby ​​1.9.2


1. Asegúrese de incluir confirmable en la llamada Model.devise

class User < ActiveRecord::Base devise :database_authenticatable, :confirmable ... end

2. Asegúrese de agregar una confirmación para la migración del usuario

create_table :users do |t| t.database_authenticatable t.confirmable ... end

Si está utilizando el dispositivo 2.0+, esto no funciona porque el dispositivo ya no proporciona t.confirmable para la migración, por lo que t.confirmable genera un error. En su lugar, copie el bloque etiquetado como "Confirmable" de su guía de migración .

3. Genere las vistas de diseño, con cualquiera de los siguientes comandos, para que pueda anular las vistas de diseño de correo:

rails generate devise:views # global rails generate devise:views users # scoped

Ahora puede anular las vistas de correo en devise/mailer/confirmation_instructions.html.erb o users/mailer/confirmation_instructions.html.erb dependiendo de su configuración

4. Para el entorno de desarrollo , agregue las siguientes líneas de configuración en /config/environments/development.rb

config.action_mailer.default_url_options = { :host => ''localhost:3000'' } config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}

5. Para el entorno de producción en /config/environments/production.rb , puede usar algo similar a lo siguiente (suponiendo que tiene un servidor SMTP en localhost: 25):

config.action_mailer.default_url_options = {:host => ''yourdomain.com''} config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => "127.0.0.1", :port => 25, :domain => ''yourdomain.com'' }

6 Para probar la configuración en desarrollo, instale la gema mailcatcher, que usará como servidor SMTP en desarrollo, capturando todos los correos entrantes y mostrándolos en http://localhost:1080/ :

gem install mailcatcher

Una vez instalado, inicie el servidor de mailcatcher con el comando:

mailcatcher

Un servidor SMTP de juguete se ejecutará en el puerto 1025 capturando correos electrónicos y desplazándolos en el puerto HTTP 1080.

Ahora puede crear una cuenta y ver las confirmaciones.