[RUBY] Schnellste Schienen Mail-Design Willkommen Mail-Sendefunktion Implementierung Aktion Mailer unnötig Einfachste

【Tor】

Senden Sie E-Mails mit Mailer, wenn Sie sich als Benutzer registrieren (Willkommens-Mail) Referenz: https://web-camp.io/magazine/archives/19143 Referenz: https://freesworder.net/rails-mail/

【verdienen】

■ Verbesserung von UX ■ Verbesserte Anwendungsperfektion

【Entwicklungsumgebung】

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

【Implementierung】

Erstellen Sie eine Anwendung

mac.terminal


$ rails new mail

$ cd mail

gemfile hinzugefügt

In der App.gemfile


gem 'devise' #Überspringen Sie E-Mails, wenn Sie sich als Entwickler registrieren
gem 'dotenv-rails' #Wird für Umgebungsvariablen verwendet. Details werden später beschrieben

Kehre zum Terminal zurück und erstelle verschiedene Dinge

mac.terminal


$ bundle install #Installieren Sie gemfile

$ rials g devise:install #Gerät initialisieren

$ rails g devise User 

$ rails g devise:views

$ rails g devise:controllers users

Bearbeiten Sie die Datenbank und die Migrationsdatei und entfernen Sie die folgenden Kommentare.

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

Modell bearbeiten

user.rb


class User < ApplicationRecord
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable, :bestätigbar ← hinzugefügt

end

Fügen Sie die ENV-Datei zum Stammverzeichnis hinzu und fügen Sie Folgendes hinzu

/.env


mail = 'Ihre gamilische Adresse'
password = 'Passwortanwendung erforderlich'

Erstellen und bearbeiten Sie 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
}

Bearbeiten Sie view / users / mailer / verify_instructions.html

confirmation_instructions.html



##Es wird willkürlich geändert und es wird der Inhalt der Mail sein.

<p>Welcome <%= @email %>!</p>

<p>You can confirm your account email through the link below:</p>

##Bisher


<!-- <p><%#= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %></p> -->
#Auskommentieren,Weil es diesmal unnötig ist

Wieder zum Terminal

mac.terminal


$ rails db:migrate

$ rails s -b 0.0.0.0

Die E-Mail sollte gesendet worden sein, als Sie sich als Benutzer registriert haben.

Es dauerte ca. 3 Stunden per Action Mailer etc. Es war einfacher zu implementieren als ich erwartet hatte.

Recommended Posts

Schnellste Schienen Mail-Design Willkommen Mail-Sendefunktion Implementierung Aktion Mailer unnötig Einfachste
Ruby on Rails Implementierung der automatischen Mail-Sendefunktion
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)
Implementierung von Rails Action Text
Implementierung der Fuzzy-Suchfunktion für Schienen
[Rails] Implementierung der Kategoriefunktion
[Rails] Implementierung der Tutorial-Funktion
[Rails] Implementierung einer ähnlichen Funktion
[Rails] Implementierung einer neuen Registrierungsfunktion im Assistentenformat mit devise