邮件程序用网站管理员电子邮件替换域名(namecheap和gmail)

时间:2012-05-24 22:22:15

标签: ruby-on-rails ruby-on-rails-3 heroku actionmailer railscasts

我正在尝试按照此跟踪广播http://railscasts.com/episodes/274-remember-me-reset-password?view=asciicast设置密码重设邮件。

我可以让我的邮件程序在关注heroku博客后发送电子邮件来设置我的环境。请注意我使用namecheap为我的域名和gmail /谷歌应用程序处理我的电子邮件。 http://blog.heroku.com/archives/2009/11/9/tech_sending_email_with_gmail/

我遇到的问题是,我收到的电子邮件正在替换我的电子邮件,域名应该是。见下文:

To reset your password, click the URL below.

http://webmaster@mydomain.com/password_resets/qVwzCsKHZA-VS6GyDTTyQw/edit

我希望它是:

http://www.mydomain.com/password_resets/qVwzCsKHZA-VS6GyDTTyQw/edit

如何让邮件程序显示域名而不是网站管理员电子邮件?

我已经多次检查了我的代码,我认为这只是某种转发问题的问题。如果您希望我发布任何相关代码,请告诉我。

这是在我的production.rb:

config.action_mailer.default_url_options = { :host => "webmaster@mydomain.com" }

password_resets_controller.rb

def create
  user = User.find_by_email(params[:email])
  user.send_password_reset if user
  redirect_to login_path, :notice => "Email sent with password reset"
end

user.rb

def send_password_reset
  generate_token(:password_reset_token)
  self.password_reset_sent_at = Time.zone.now
  save!
  UserMailer.password_reset(self).deliver
end

user_mailer.rb

class UserMailer < ActionMailer::Base
  default :from => "webmaster@mysite.com"


  def password_reset(user)
    @user = user
    mail :to => user.email, :subject => "Password Reset"
  end
end

password_reset.text.erb

To reset your password, click the URL below.
<%= edit_password_reset_url(@user.password_reset_token) %>

感谢。

1 个答案:

答案 0 :(得分:1)

只需将您的主机更改为您的域名,它应该有效:    :host =&gt; “mydomain.com”