我在示例rails app上设置了ActionMailer,而且动作邮件似乎没有发送电子邮件。
这是一个相当简单的设置,当用户创建帐户时,他们会自动从网站收到欢迎电子邮件!
production.rb
config.action_mailer.delivery_method = :smtp
# SMTP settings for gmail
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => ENV['gmail_username'],
:password => ENV['gmail_password'],
:authentication => "plain",
:enable_starttls_auto => true
}
config.action_mailer.raise_delivery_errors = true
user_controller.rb
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
# Sends email to user when user is created.
ExampleMailer.sample_email(@user).deliver
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
使用费加罗成功设置了我的Gmail用户名和密码。 此外,我的Gmail设置设置为允许安全性较低的应用。
这里发生了什么?