Envoyer des e-mails à l'aide de mailer lors de l'inscription en tant qu'utilisateur de l'appareil (e-mail de bienvenue) Référence: https://web-camp.io/magazine/archives/19143 Référence: https://freesworder.net/rails-mail/
■ Amélioration de l'UX ■ Amélioration de la perfection de l'application
■ Mac OS catalina ■ Ruby on Rails (5.2.4.2) ■ Virtual Box:6.1 ■ Vagrant: 2.2.7
mac.terminal
$ rails new mail
$ cd mail
Dans l'appli.gemfile
gem 'devise' #Ignorer les e-mails lors de l'inscription en tant que membre de la devise
gem 'dotenv-rails' #Utilisé pour les variables d'environnement. Les détails seront décrits plus tard
mac.terminal
$ bundle install #Installer gemfile
$ rials g devise:install #Initialiser l'appareil
$ rails g devise User
$ rails g devise:views
$ rails g devise:controllers users
db/migrate/xxxxxxxxxx_devise_create_users.rb
# Confirmable
t.string :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
t.string :unconfirmed_email # Only if using reconfirmable
user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable, :confirmable ← ajouté
end
/.env
mail = 'Votre adresse gamil'
password = 'Demande de mot de passe requise'
config/initializers/mail_config.rb
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: 'smtp.gmail.com',
domain: 'gmail.com',
port: 587,
user_name: ENV['mail'],
password: ENV['password'],
authentication: 'plain',
enable_starttls_auto: true
}
confirmation_instructions.html
##Il sera changé arbitrairement et ce sera le contenu du mail.
<p>Welcome <%= @email %>!</p>
<p>You can confirm your account email through the link below:</p>
##Jusque là
<!-- <p><%#= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %></p> -->
#Commenter,Parce que c'est inutile cette fois
mac.terminal
$ rails db:migrate
$ rails s -b 0.0.0.0
L'e-mail doit avoir été envoyé lorsque vous vous êtes enregistré en tant qu'utilisateur.
Cela a pris environ 3 heures via courrier électronique d'action, etc. C'était plus facile à mettre en œuvre que prévu.
Recommended Posts