Электронная почта с Rails 3 и Heroku Net :: SMTPSyntaxError: 501 Синтаксическая ошибка - PullRequest
10 голосов
/ 14 мая 2011

Как видно из названия, я пытаюсь получить простое электронное письмо, работая с 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

У меня есть представление в 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:

Затем в консоли Heroku я сделал это:

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

а затем это:

Invite.deliver_signup_notification(user)

и, если получите эту ошибку:

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`

Спасибо за любые идеи.

Ответы [ 4 ]

18 голосов
/ 14 мая 2011

Ваш from недействителен.Попробуйте вместо 'test@example.com'.

1 голос
/ 19 мая 2017

Если вы хотите отобразить пользовательскую строку в from, вы можете использовать что-то вроде

from  "Test <info@domain.com>"

, и при отправке сообщения электронной почты заголовок будет Test

1 голос
/ 14 мая 2011

Руководство Heroku для Rails <3.0.Используйте направляющую <a href="http://edgeguides.rubyonrails.org/action_mailer_basics.html" rel="nofollow"> Rails для 3.0.

0 голосов
/ 05 августа 2016

Net::SMTPSyntaxError 501 выдается ошибка, если у вас неверный адрес отправителя. Адрес отправителя должен быть адресом электронной почты. Любое поддельное письмо также подойдет. как: abc@fakemail.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...