2016-07-07 26 views
0

我以两种方式使用了actionmailer。第一个与Gmail的smtp配置: -使用actionmailer rails时执行过期异常4

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 
    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" 
    ActionMailer::Base.delivery_method = :smtp # be sure to choose SMTP delivery 
    ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => "587", 
    :domain    => "gmail.com", 
    :user_name   => "[email protected]", 
    :password    => "some-password", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
    } 

这工作得很好。邮件已发送。

的问题是,当我决定用我的邮件服务器在我的服务器配置: -

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 
    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" 
    ActionMailer::Base.delivery_method = :smtp # be sure to choose SMTP delivery 
    ActionMailer::Base.smtp_settings = { 
    :address    => "mail.xgram.xyz", 
    :port     => "25", 
    :domain    => "xgram.xyz", 
    :user_name   => "[email protected]", 
    :password    => "some-password", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
    } 

有了这个配置,我得到这个错误在终端

的Net :: OpenTimeout(执行到期):

和此错误在浏览器

执行期满

此外,mail.xgram.xyz作为服务器名称是有效的,因为当我将其更改为任意名称,该错误会

的getaddrinfo:名称或服务不知道

任何人都可以帮助我吗? 预先感谢您

回答

0

您需要在服务器配置中禁用ipv6。一旦完成,你将不会看到错误。

+0

您的意思是与操作系统,Apache的Web服务器配置或导轨配置相关的系统配置? – omarzouk

+0

与操作系统相关的配置。请参考这个'http://stackoverflow.com/a/26518579/2657566' –

+0

我认为这不是IPv6问题。虽然在评论中的问题中,那家伙使用gmail配置,这对我来说已经很好用了。我的问题是配置我自己的SMTP。 – omarzouk

相关问题