[RUBY] Les rails les plus rapides de conception de courrier électronique de bienvenue fonction d'envoi de la fonction mise en œuvre de courrier électronique d'action inutile Easyest

【objectif】

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/

【mérite】

■ Amélioration de l'UX ■ Amélioration de la perfection de l'application

【Environnement de développement】

■ Mac OS catalina ■ Ruby on Rails (5.2.4.2) ■ Virtual Box:6.1 ■ Vagrant: 2.2.7

【La mise en oeuvre】

Créer une application

mac.terminal


$ rails new mail

$ cd mail

gemfile ajouté

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

Revenez au terminal et créez diverses choses

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

Modifiez la base de données et le fichier de migration et supprimez les commentaires ci-dessous.

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

Modifier le modèle

user.rb


class User < ApplicationRecord
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable, :confirmable ← ajouté

end

Ajoutez le fichier .env au répertoire racine et ajoutez ce qui suit

/.env


mail = 'Votre adresse gamil'
password = 'Demande de mot de passe requise'

Créez et modifiez config / initializers / mail_config.rb

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
}

Modifier la vue / users / mailer / confirmation_instructions.html

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

Vers le terminal à nouveau

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

Les rails les plus rapides de conception de courrier électronique de bienvenue fonction d'envoi de la fonction mise en œuvre de courrier électronique d'action inutile Easyest
Ruby on Rails Implémentation de la fonction d'envoi automatique de courrier
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
Implémentation de Rails Action Text
Implémentation de la fonction de recherche floue Rails
[Rails] Implémentation de la fonction de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation d'une nouvelle fonction d'enregistrement au format assistant à l'aide de devise