ActionMailer и Exchange - PullRequest
       17

ActionMailer и Exchange

1 голос
/ 18 ноября 2009

Я успешно отправляю письма через SMTP, используя приложение Rails и мой Postfix сервер. Теперь мне нужно перейти на Exchange: Microsoft ESMTP MAIL Service, версия: 6.0.3790.3959, в которой включена поддержка POP3 и SMTP.

Я использую 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.

Итак, метод аутентификации: похоже, что логин поддерживается должным образом. Теперь, когда дело доходит до моей конфигурации для 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"

но ничего не работает. Может кто-нибудь мне помочь?

С уважением. Jason

1 Ответ

1 голос
/ 20 ноября 2009

Я думаю, вам нужно добавить

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 блокируется для отправки электронной почты, и некоторые поставщики электронной почты отказываются принимать электронную почту от порта 25, который использует localhost smtp. Или, возможно, ваш интернет-провайдер блокирует порт 25. если это все еще не работает, вы можете написать здесь ошибки.

...