2

RailsアプリとPostfixサーバーを使用してSMTP経由でメールを正常に送信しました。次に、POP3とSMTPのサポートが有効になっているExchange:Microsoft ESMTP MAILサービス、バージョン:6.0.3790.3959に移動する必要があります。

actionmailer 1.2.5を使用していますが、メールを送信しようとしているときにサーバーに正常にログインできません。

Mail.appを使用する場合、認証スキーマを「パスワード」に変更する限り、送受信は正常に機能します。サーバーのチェックは次のようになります。

READ Nov 18 10:37:00.509 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
250-mail.my-mail-server-domain.com Hello [xxx.xxx.xxx.xxx]
250-TURN
250-SIZE
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM LOGIN
250-X-EXPS=LOGIN
250-AUTH GSSAPI NTLM LOGIN
250-AUTH=LOGIN
250-X-LINK2STATE
250-XEXCH50
250 OK

WROTE Nov 18 10:37:00.852 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
AUTH LOGIN

READ Nov 18 10:37:01.848 [kCFStreamSocketSecurityLevelNone]  -- host:mail.my-mail-server-domain.com -- port:25 -- socket:0x11895cf20 -- thread:0x11b036a10
235 2.7.0 Authentication successful.

したがって、認証方法:loginは適切にサポートされているようです。actionmailerの構成に関しては、次のようになります。

ActionMailer::Base.server_settings = {
    :address => "mail.my-mail-server-domain.com",
    :port => 25,
    :domain => "my-mail-server-domain.com",
    :authentication => :login,
    :user_name => "myusername",
    :password => "mypassword"
}

そして、認証エラーが何度も発生します。私も変えてみました

    :user_name => "my-mail-server-domain.com\myusername"
    :user_name => "my-mail-server-domain.com\\myusername"
    :user_name => "myusername/my-mail-server-domain.com"
    :user_name => "myusername@my-mail-server-domain.com"

しかし、何も機能しません。誰か助けてもらえますか?

よろしく。ジェイソン

4

1 に答える 1

2

追加する必要があると思います

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  :domain             => "my-mail-server-domain.com",
  :address            => "mail.my-mail-server-domain.com",
  :port               => 25
  :authentication => :login ,
  :user_name          => 'myusername',
  :password           => 'mypassword',
}

ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "utf-8"
ActionMailer::Base.default_content_type = "text/html"

または、ポートを変更してみてください。通常、ポート25/26は電子メールの送信をブロックされており、一部の電子メールプロバイダーは、localhostsmtpを使用するポート25からの電子メールの受信を拒否しています。または、インターネットプロバイダーがポート25をブロックしている可能性があります。それでも機能しない場合は、ここにエラーを書き込むことができます。

于 2009-11-20T10:38:46.537 に答える