我尝试像教程一样配置,但仍无法发送电子邮件。在控制台,它显示以下图像:
我在配置文件\ environments \ development.rb和production.rb中配置如下:
config.active_record.dump_schema_after_migration = false
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'gmail username',
password: 'password',
authentication: 'plain',
enable_starttls_auto: true }
应用\寄件人\ user_mailer.rb:
class UserMailer < ApplicationMailer
def registration_confirmation(user)
mail(:to => user.email,:subject => "registered")
end
end
应用\寄件人\ application_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: "testonebig@gmail.com"
layout 'mailer'
end
应用\控制器\ users_controller.rb
def create
@user = User.new(user_params)
UserMailer.registration_confirmation(@user).deliver
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
它运行时没有显示任何错误但是当我检查gmail时,它没有收到任何邮件。
答案 0 :(得分:1)
您是否在development.rb文件中提供了正确的电子邮件和密码?
还有一件事: 您正在通过此ID发送电子邮件&#34; testonebig@gmail.com" ;,请在gmail中使用此电子邮件登录。只是为了确保您的帐户一切正常。在您的帐户身份验证中可能存在某种问题。