2012-01-03 82 views
0

我有一个实时应用(livebytransit.com),我最近切换到自定义域,而不是简单地使用隐形转发。该域名与Godaddy。一切都看起来不错,除了我的邮件程序不再工作!Heroku Mailer在切换到自定义域后突然不工作

这里是Heroku的日志中的错误:

2012-01-03T22:36:17+00:00 app[web.1]: Rendered showing_mailer/showing_request.html.erb (0.5ms) 
2012-01-03T22:36:17+00:00 app[web.1]: 
2012-01-03T22:36:17+00:00 app[web.1]: Sent mail to [email protected] (213ms) 
2012-01-03T22:36:17+00:00 app[web.1]: Completed 500 Internal Server Error in 242ms 
2012-01-03T22:36:17+00:00 app[web.1]: EOFError (end of file reached): 
2012-01-03T22:36:17+00:00 app[web.1]: app/controllers/showings_controller.rb:12:in `create' 

从我production.rb配置文件:

config.action_mailer.raise_delivery_errors = true 
config.action_mailer.delivery_method = :smtp 

初始化程序:

ActionMailer::Base.smtp_settings = { 
    :address => "smtpout.secureserver.net", 
    :port => 25, 
    :user_name => "username", 
    :password => "password", 
    :authentication => :login 
} 

梅勒:

class InviteeMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def send_invite(invitee) 
     @invitee = invitee 
     mail(:to => @invitee.email, :subject => "You have been Invited") 
    end 

end 

最后控制器:

def create 
    @invitee = Invitee.new 
    @invitee.email = (params[:email]) 
    @invitee.user_id = session[:user_id] 
    @invitee.save 
    InviteeMailer.send_invite(@invitee).deliver 
    redirect_to user_url(session[:user_id]), :notice => "Invitation Sent, thank you!" 
    end 

的被邀请者得到保存,但邮件不会因为引发EOFError去。这听起来像是一个配置问题,但我似乎无法弄清楚,任何想法都会很感激!再次,邮件工作正常,直到我切换到自定义域。

回答

0

heroku帮助台建议我添加sendgrid。所以我添加sendgrid,那么错误改成这样:

Net::SMTPFatalError (553 Sorry, your envelope sender is in my badmailfrom list 

此错误促使我建立一个电子邮件地址为“发件人”地址默认为显示在邮件程序。

问题解决。

我不确定为什么当应用程序被部署到默认的myapp.herokuapp.com时邮件被传递。问题只在切换到我的自定义域后才出现。

+0

错误回来了,这次我重新配置sendgrid使用这个问题:http://stackoverflow.com/questions/8782274/sendgrid-email-sending-issues-in-ruby-on-rails-hosted-on- Heroku的。奇迹般有效。 – tbone 2012-03-04 19:51:08