我是 Rails 新手,使用 rails-2.3.5 和 ruby-1.8.7。这是我的 notifier.rb 模型:
# app/models/notifier.rb
class Notifier < ActionMailer::Base
default_url_options[:host] = "foo.com"
#This method sends an email with token to users who request a new password
def password_reset_instructions(user)
subject "Password Reset Instructions"
from "Support Team<support@foo.com>"
recipients user.email
sent_on Time.now
body :edit_password_reset_url =>
edit_password_reset_url(user.perishable_token)
end
end
当我调用此方法时,出现以下错误:
Net::SMTPFatalError in Password resetsController#create
555 5.5.2 Syntax error. 36sm970138yxh.13
我发现一篇文章说问题是 ruby-1.8.4 中的一个错误,修复方法是从 :from 字段中删除尖括号。果然,如果我只使用“support@foo.com”而不是“支持团队<support@foo.com>”一切正常。
但是,在 rails-2.3.5 API 或 ActionMailer Basics rails 指南中都没有提及此问题,实际上两者都在其 actionmailer 设置示例中显示“名称<邮件地址>”。有人知道我在做什么错吗?