这似乎是一个非常奇怪的问题,在尝试从多个角度解决它之后,我有点卡住了。
设置非常简单,它只是一个联系表单,您可以在其中输入您的姓名,电子邮件地址,电子邮件主题和正文。此电子邮件将发送给主持人(让我们称之为dfnd@gmail.com),它应该是用户在表单中填写的电子邮件地址。
为setup_mail.rb
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "gmail.com",
:user_name => ENV['ACTION_MAILER_NAME'],
:password => ENV["ACTION_MAILER_PASSWORD"],
:authentication => "plain",
:enable_starttls_auto => true
}
ActionMailer::Base.default_url_options[:host] = ENV['ACTION_MAILER_HOST']
notifications_mailer.rb
class NotificationsMailer < ActionMailer::Base
def new_message(message)
@message = message
mail(to: "dfnd@gmail.com", subject: "Contact Form: #{message.subject}")
end
end
pages_controller.rb
def create
@message = Message.new(params[:message])
if @message.valid?
NotificationsMailer.new_message(@message).deliver
redirect_to(root_path)
else
flash[:error] = "Please fill in the required fields appropriately."
redirect_to contact_path
end
end
&#39;来自&#39;被卡住的电子邮件地址&#39;在我的应用程序中 testlove@gmail.com(这是ACTION_MAILER_NAME环境变量)。无论我在哪里改变&#39;来自&#39;或默认&#39;来自&#39;我的rails应用程序中的电子邮件地址,它始终是testlove@gmail.com。
即使我在developer.rb中设置默认值,如下所示:
config.action_mailer.default_options = {from: 'no-reply@example.com'}
&#39>来自&#39;电子邮件地址仍然是testlove@gmail.com
更奇怪的是,如果我查看我的服务器日志,它会显示正确的电子邮件地址,但是当我打开实际的电子邮件时,它又一次是testlove@gmail.com。 / p>
对此有何见解?我已经很多次重启了我的服务器,我很困惑为什么会发生这种情况。