我正在运行一个 Mercury SMTP 服务器(我的 XAMPP 堆栈附带),我正试图让我的 Rails 应用程序在开发模式下使用它。所以我将以下内容添加到我的 development.rb 文件中
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
:address => "localhost",
:port => 25,
:domain => 'localhost',
:user_name=>'newuser@localhost',
:password=>'wampp',
:authentication => :plain,
:enable_starttls_auto => true
}
当我将身份验证参数设置为普通时,我得到:
504 Unknown or unsupported authentication method.
所以我检查了 ActionMailer API,发现还有两个选项 login 和 cram_md5。如果我使用其中任何一个,我会得到
501 Authentication failed - bad user or password.
该用户名/密码组合是默认值,因此它绝对有效。我已经尝试使用和不使用 @localhost 的 newuser,甚至创建了一个新的 Mercury 用户帐户(我有其他理由不这样做)并尝试使用和不使用 @localhost,我总是得到 501。
如果可能的话,我想在 Rails 端进行这项工作,而不是在 Mercury 中启用普通身份验证,但我想如果有人知道如何进行这项工作,我会接受该解决方案。最坏的情况我会推荐一个不同的 SMTP 服务器用于 Rails 开发。
谢谢!