使用Rails 3和Heroku Net发送电子邮件:: SMTPSyntaxError:501语法错误

Len*_*onR 10 email-integration heroku ruby-on-rails-3

正如标题所说,我正在尝试使用Heroku和Rails 3进行简单的电子邮件.我正在使用这个Heroku指南:http: //devcenter.heroku.com/articles/smtp

这是我的代码:

我生成了一个看起来像这样的邮件:

class Invite < ActionMailer::Base
  def signup_notification(user)
    recipients "#{user.first_name} <#{user.email}>"
    from       "Test"
    subject    "Please activate your new account"
    sent_on    Time.now
    body       :var => 'testing'
  end
end
Run Code Online (Sandbox Code Playgroud)

我有一个观点 app/views/invite/signup_notification.rhtml

更新:我看到这.rhtml不适用于Rails 3所以我只是尝试.html.erb但我得到了相同的错误.

Your account has been created.
Username: 
Password: 
Visit this url to activate your account:
Run Code Online (Sandbox Code Playgroud)

然后在Heroku控制台中我这样做了:

user = User.new(:first_name => 'Me', :email => 'me@hotmail.com', :login => 'me', :password => '1234')
Run Code Online (Sandbox Code Playgroud)

然后这个:

Invite.deliver_signup_notification(user)
Run Code Online (Sandbox Code Playgroud)

如果得到这个错误:

Net::SMTPSyntaxError: 501 Syntax error
  /user/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:930:in `check_response`
  /user/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:899:in `getok`
  /user/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:828:in `mailfrom`
  /user/ruby1.8.7/lib/ruby/1.8/net/smtp.rb:653:in `sendmail`
Run Code Online (Sandbox Code Playgroud)

谢谢你的任何想法.

Rom*_*man 18

from无效.请尝试使用'test@example.com'.


waq*_*ali 5

如果你想显示自定义字符串,那么from你可以使用类似的东西

from  "Test <info@domain.com>"
Run Code Online (Sandbox Code Playgroud)

当您发送电子邮件时,标题将为“测试”