Sendgrid,Heroku Mailer Error Net :: SMTPFatalError 553

时间:2014-04-16 02:40:07

标签: heroku ruby-on-rails-4 sendgrid

我手头有第一封邮件。这是我的邮件...

class UserMailer < ActionMailer::Base
  default from: 'http://my-heroku-prename.herokuapp.com'

def welcome_email(current_user)
  @user =  current_user
  @url  = 'http://my-heroku-prename.herokuapp.com/'
  mail(to: @user.email, subject: 'Welcome to My Awesome Site')
end
end

如果在UserController创建块的末尾有这一行

   UserMailer.welcome_email(@user).deliver

我的production.rb看起来像这样

 config.action_mailer.raise_delivery_errors = true
 config.action_mailer.delivery_method = :smtp
 config.action_mailer.default_url_options = { :host => 'my-heroku-prename.heroku.com' }
 ActionMailer::Base.smtp_settings = {
  :address    => "smtp.sendgrid.net",
  :port       => 587,
  :user_name  => ENV['my_actually_sendgrid_username'], #should I just put the default here?
  :password   => ENV['my_actually_sendgrid_pw'],
  :domain     => ENV['heroku.com'],
  :authentication => plain

我得到的错误是

Net::SMTPFatalError (553 Parse error at ':' of ('<http://me-heroku-prename.herokuapp.com>', [':', '//my-heroku-prename', '.', 'herokuapp', '.', 'com'])

我搜索了这个553解析错误但找不到任何东西......这只是一个synxtax的事情吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的default from:应该是电子邮件地址而不是网址。这指定了在发送的电子邮件中显示为from的地址。

您可以通过将其置于Mailer的方法中来修改每条消息的来源。