我目前正在與郵件系統的應用程序。它工作正常,發送一封歡迎郵件併發送重置密碼的指令,但現在只有當我嘗試發送重置指令時,我纔有這個錯誤。Rails設計與gmail錯誤
ArgumentError (SMTP From address may not be blank: nil):
我使用的是像這樣[email protected]
這裏是我的配置
development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_caching = false
config.action_mailer.default_url_options = { host: 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: '587',
domain: 'gmail.com',
authentication: :plain,
enable_starttls_auto: true,
user_name: Rails.application.secrets.mailer_username,
password: Rails.application.secrets.mailer_password
}
任何想法,自定義域?
編輯
class UserMailer < ApplicationMailer
default from: '[email protected]'
def welcome_email(user)
@user = user
@url = 'http://localhost:3000/users/sign_in'
mail(to: @user.email, subject: 'Bienvenue')
end
def generate_new_password_email
user = User.find(params[:user_id])
user.send_reset_password_instructions
end
def reset_password; end
end
我有一個'默認從'設置爲我的郵件正確的地址。此外,郵件由Devise發送,因爲它是重置密碼的郵件。它工作了一段時間,而不必重寫任何東西,所以問題也許在別的地方。 – LRP
@LRP它在devise.rb中。需要這樣的東西:config.mailer_sender = ENV ['SMTP_USERNAME'] –