Heroku发送电子邮件错误的Rails应用程序

时间:2013-05-07 15:00:23

标签: ruby-on-rails-3 heroku gmail

我在Google Apps上托管了自己的域名。 我的电子邮件发送在我的笔记本电脑上以开发模式运行。

在Heroku(雪松堆栈)的制作中,我收到此错误: Net :: SMTPAuthenticationError(535-5.7.8不接受用户名和密码。在app / controllers / applicants_controller.rb上了解更多信息:16:在'create'中):

这是我的production.rb文件:

config.action_mailer.default_url_options = { :host => 'mydomain.com' }
   # ActionMailer Config
   # Setup for production - deliveries, no errors raised
   config.action_mailer.delivery_method = :smtp
   config.action_mailer.perform_deliveries = true
   config.action_mailer.raise_delivery_errors = true
   config.action_mailer.default :charset => "utf-8"

   config.action_mailer.smtp_settings = {
     address: "smtp.gmail.com",
     port: 587,
     domain: "mydomain.com",
     authentication: "plain",
     enable_starttls_auto: true,
     user_name: "info@mydomain.com",
     password: "mypassword"
   }

以下是contacts_controller中的创建操作:

 def create  
      @contact = Contact.new(params[:contact])  

      respond_to do |format|  
        if @contact.save  
          ContactMailer.new_contact_notice(@contact).deliver 
          format.html { redirect_to(:root, :notice => 'Thanks, Your information was successfully sent.') }  

        else  
          format.html { render :action => "show" }  

        end  
      end  
    end

以下是Heroku日志的完整部分,指出错误:

2013-05-07T05:01:54.773576+00:00 app[web.1]: Started POST "/applicants" for 108.208.197.181 at 2013-05-07 05:01:54 +0000
2013-05-07T05:01:55.132454+00:00 app[web.1]:   app/controllers/applicants_controller.rb:18:in `block in create'
2013-05-07T05:01:55.130426+00:00 app[web.1]: 
2013-05-07T05:01:55.132454+00:00 app[web.1]: 
2013-05-07T05:01:55.130426+00:00 app[web.1]: Sent mail to name@gmail.com (185ms)
2013-05-07T05:01:55.132454+00:00 app[web.1]: 
2013-05-07T05:01:55.132454+00:00 app[web.1]: Net::SMTPAuthenticationError (535-5.7.8 Username and Password not accepted. Learn more at
2013-05-07T05:01:55.132454+00:00 app[web.1]:   app/controllers/applicants_controller.rb:16:in `create'
2013-05-07T05:01:55.132454+00:00 app[web.1]: ):
2013-05-07T05:01:55.132454+00:00 app[web.1]: 

我已经尝试了一些关于此错误的内容,例如首先登录到gmail帐户。我没有在设置的任何地方看到它询问您是否尝试登录,所以我可以确认。

还有其他想法吗?

1 个答案:

答案 0 :(得分:5)

花了我三天但我找到了答案。除了在config / initializers中的setup_mail.rb之外,我已经检查并重新检查了所有邮件设置。就是这样。即使我的production.rb,application.yml和mailer文件中的所有邮件设置都正确。我只有用户名“name”而不是完整的电子邮件地址“name@domain.com”。