ActionMailer的问题:501<>:缺少或格式错误的本地部分

时间:2009-07-27 08:29:05

标签: ruby-on-rails email smtp actionmailer

我在从Rails应用程序使用SMTP发送邮件时遇到问题。我有一个Mailer课程:

class Mailer < ActionMailer::Base
  def newsletter_confirmation(subscription)
    recipients  "my-valid-email@gmail.com" # this is set to my email 
                                           # just for testing purposes and will
                                           # be changed to subscription.email 
    from        "\"my-valid-helo-domain.net\" <noreply@my-valid-helo-domain.net>"
    subject     "Confirm your subscription"
    body        :subscription => subscription
  end
end

当我尝试发送邮件时,我收到了Net::SMTPSyntaxError

501 <["noreply@my-valid-helo-domain.net"]>: missing or malformed local part

如果我注释掉from字段,邮件就会正常发送,但是信息丢失(显然)。
对我做错了什么想法?

感谢。

编辑:我正在使用Rails 2.3.2和Ruby 1.9.1

2 个答案:

答案 0 :(得分:2)

错误代码和错误描述表明这是邮件服务器上的错误。

我建议您检查邮件服务器以查明错误。

当涉及到ActionMailer时,如果设置了配置参数raise_delivery_errors,则应该引发异常(默认为生产但不在开发中我认为),因此您可以检查那个并尝试重新发送,如果它触发。

修改

这是解决方案(这是一个Ruby / Rails 1.9错误):

https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2340-action-mailer-cant-deliver-mail-via-smtp-on-ruby-191

和补丁:

https://rails.lighthouseapp.com/projects/8994/tickets/2340/a/104008/action_mailer-ruby-1.9-from-address-fix.patch

答案 1 :(得分:1)