私はレールが初めてで、レール-2.3.5 とルビー-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 Team<support@foo.com>」の代わりに「support@foo.com」を使用すると、すべて正常に動作します。
ただし、rails-2.3.5 API または ActionMailer Basics rails ガイドのいずれにもこの問題への言及はなく、実際、どちらも actionmailer のセットアップ例に「name<mail address>」と表示されています。私が間違っていることを知っている人はいますか?