Ruby on Rails ActionMailer SMTP设置

时间:2013-08-16 21:40:18

标签: ruby-on-rails smtp smtp-auth

尝试在RubyRails中设置我自己的ActionMailer :: Base - >这有效:

    ActionMailer::Base.smtp_settings = {
    :address              => "smtp.gmail.com",
    :port                 => 587,
    :domain               => "anythingworks",
    :user_name            => "mygmailaddress@gmail.com",
    :password             => "somePW",
    :authentication       => "plain",
    :enable_starttls_auto => true
    }

很好..但如果我可以使用我的邮件服务器那就太好了。但是当我尝试这个时:

    ActionMailer::Base.smtp_settings = {
    :address              => "smtp.myowndomain.de",
    :port                 => 25, (tried 587) also
    :domain               => "triedanything",
    :user_name            => "mycorrectuser",
    :password             => "yesitisthecorretpw",
    :authentication       => "plain",
    :enable_starttls_auto => true
    }

尝试了很多不同的设置/更改。但是没有发送电子邮件。有没有可用的日志?想想它的东西,因为认证...“登录”而不是“普通”没有帮助......

有一些测试使用telnet从命令行发送一些电子邮件。 gmail不能从命令行工作(说STARTTTLS或其他东西)。我自己的域邮件服务器(由某个提供商托管)说“拒绝中继访问”(来自命令行)。

Webmail都在工作..

任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

答案是“中继访问被拒绝”消息。您的smtp服务器需要配置为中继电子邮件才能使用。我怀疑你的smtp服务器被配置为接受连接到你的域的连接,而不是在其他地方中继电子邮件。

可能会在smtp服务器的日志文件中找到相同的错误消息。尝试向自己发送一封电子邮件(这只是一个接受,而不是一个接收,为您的smtp服务器)。如果发送给自己的电子邮件,但没有发送到其他域的电子邮件,您将确认这是问题所在。

您的ISP可能有一个可用于外发电子邮件的smtp服务器。如果您想使用自己的电子邮件服务器,则需要将其配置为中继电子邮件。