我的注册控制器中有以下代码
def new
Rails.logger.debug "#{params[:email]}"
if !params[:email].blank? && !params[:invoke].blank? && params[:invoke].casecmp('Send') == 0
MyMailer.send_email(params[:email]).deliver
end
end
我的 params[:email] 被正确填充。
在 my_mailer.rb 我有以下代码
class MyMailer < ActionMailer::Base
default from: 'someaddress@yahoo.com'
def send_email(emailaddress)
@emailaddress=emailaddress
Rails.logger.debug "{#{emailaddress}}"
mail(to: @emailaddress ,subject: 'asdasd')
end
end
我在中设置了以下属性development.rb
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
我还在setup_mail.rb
初始化程序下完成了 smtp 配置
ActionMailer::Base.smtp_settings = {
:address => "smtp.yahoo.com",
:port => 587,
:domain => "yahoo.com",
:user_name => "someaddress@yahoo.com",
:password => "somepass",
:authentication => "plain",
:enable_starttls_auto => true
}
我的日志说邮件已发送给相应的人,但我的 gmail 显示没有邮件到达。甚至在垃圾邮件中也没有。有没有我遗漏的配置设置?