0

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 の 2 つのオプションがさらにあることがわかりました。どちらかを使用すると、

501 Authentication failed - bad user or password.

そのユーザー名とパスワードの組み合わせはデフォルトですが、間違いなく有効です。私は @localhost の有無にかかわらず newuser を試し、新しい Mercury ユーザー アカウントを作成し (他にやらない理由があります)、@localhost の有無にかかわらず試してみましたが、常に 501 が返されます。

可能であれば、Mercury で単純な認証を有効にするのではなく、Rails 側でこれを機能させたいと考えていますが、誰かがそれを機能させる方法を知っていれば、その解決策で解決すると思います。最悪のシナリオでは、別の SMTP サーバーを Rails 開発で使用することをお勧めします。

ありがとう!

4

1 に答える 1

0

認証を要求しないように Mercury SMTP サーバーを構成します。多分それはデフォルトですか?

Rails smtp 設定には、次を使用します。

ActionMailer::Base.smtp_settings = {
  :address              => "localhost",
  :port                 => 25
}

これは、私が Apache James サーバーで使用する構成です。認証が不要な場合は、ほとんどのパラメーターを省略しなければなりません。

于 2013-01-29T16:54:50.263 に答える