问题描述
我可以在通过同步和异步注册时通过 Sendgrid 发送/接收示例电子邮件,我只需将方法调用添加到注册控制器上的注册/创建中。
虽然我无法收到要发送的确认电子邮件,看起来它已经发送了,但我没有收到它,但我可以收到我发送的样品的电子邮件。我现在正在本地完成所有这些工作。
post transaction
Started POST "/users" for ::1 at 2021-01-28 22:59:54 -0600
Processing by Users::RegistrationsController#create as HTML
Parameters: {"utf8"=>"✓","authenticity_token"=>"xxx","user"=>{"email"=>"[email protected]","password"=>"[FILTERED]","password_confirmation"=>"[FILTERED]"},"commit"=>"Sign up"}
[1m[35m (0.3ms)[0m [1m[35mBEGIN[0m
↳ app/controllers/users/registrations_controller.rb:18:in `create'
[1m[36mUser Exists? (0.7ms)[0m [1m[34mSELECT 1 AS one FROM "users" WHERE "users"."email" = $1 LIMIT $2[0m [["email","[email protected]"],["LIMIT",1]]
↳ app/controllers/users/registrations_controller.rb:18:in `create'
[1m[36mUser Create (0.6ms)[0m [1m[32mINSERT INTO "users" ("email","encrypted_password","confirmation_token","confirmation_sent_at","created_at","updated_at") VALUES ($1,$2,$3,$4,$5,$6) RETURNING "id"[0m [["email",["encrypted_password","xxxx"],["confirmation_token","r-krQR4swLNVNaxWpN1w"],["confirmation_sent_at","2021-01-29 04:59:59.413152"],["created_at","2021-01-29 04:59:59.412987"],["updated_at","2021-01-29 04:59:59.412987"]]
↳ app/controllers/users/registrations_controller.rb:18:in `create'
[1m[35m (0.4ms)[0m [1m[35mCOMMIT[0m
↳ app/controllers/users/registrations_controller.rb:18:in `create'
Rendering users/mailer/confirmation_instructions.html.erb
Rendered users/mailer/confirmation_instructions.html.erb (Duration: 0.9ms | Allocations: 258)
Rendering users/mailer/confirmation_instructions.html.erb
Rendered users/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 80)
SendGridApi::Email#confirmation_instructions: processed outbound mail in 11521.0ms
Delivered mail 6013965ae996c_175fe3fc53ffc5cbc46913@user-8888.cable.provider.com.mail (614.8ms)
Date: Thu,28 Jan 2021 23:00:10 -0600
From: please-change-me-at-config[email protected]
Reply-To: please-change-me-at-config[email protected]
To: [email protected]
Message-ID: <6013965ae996c_175fe3fc53ffc5cbc46913@user-8888.cable.provider.com.mail>
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-transfer-encoding: 7bit
<p>Welcome <email-addy>!</p>
<p>You can confirm your account email through the link below:</p>
<p><a href="http://localhost:3000/users/confirmation?confirmation_token=r-xxx">Confirm my account</a></p>
Redirected to http://localhost:3000/
Completed 302 Found in 17300ms (ActiveRecord: 1.9ms | Allocations: 201325)
Started GET "/" for ::1 at 2021-01-28 23:00:11 -0600
Processing by HomeController#index as HTML
Rendering home/index.html.erb within layouts/application
Rendered home/index.html.erb within layouts/application (Duration: 0.2ms | Allocations: 69)
[Webpacker] Everything's up-to-date. nothing to do
Rendered users/shared/_links.html.erb (Duration: 0.7ms | Allocations: 309)
Completed 200 OK in 9ms (Views: 8.5ms | ActiveRecord: 0.0ms | Allocations: 4412)
对我来说一切都很好。
以下是其他一些相关的文件:
devise.rb
Devise.setup do |config|
config.mailer_sender = 'please-change-me-at-config[email protected]'
# config.mailer = 'Devise::Mailer'
config.mailer = 'Email'
require 'devise/orm/active_record'
config.reconfirmable = true
end
lib/email.rb
# frozen_string_literal: true
class Email < Devise::Mailer
helper :application
include Devise::Controllers::UrlHelpers
default template_path: 'users/mailer'
end
development.rb
Rails.application.configure do
config.action_mailer.default_url_options = { host: 'localhost',port: 3000 }
config.action_mailer.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
port: 587,address: 'smtp.mailgun.org',domain: ENV['domain'],user_name: ENV['username'],password: ENV['password'],authentication: :plain
}
end
user.rb
class User < ActiveRecord::Base
devise :database_authenticatable,:registerable,:recoverable,:rememberable,:validatable,:confirmable
end
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)