2011-11-11 8 views
2

Mail::IMAPClientを使用してExchangeサーバーに接続しようとすると、NO LOGINに失敗しました。私が読んだことから、すべてがうまくいくはずです。私はGmailに接続するつもりだが、MS Exchangeに接続しようとすると難しいと思われる。何が認証時に失敗する原因になりますか?Perl Mail :: IMAPClientを使用したExchangeへのIMAP接続?

use strict; 
use warnings; 
use Authen::NTLM; 
use Mail::IMAPClient; 

## Option variables 
my $debug 
my $authmech = "NTLM"; 
my $username = "useraccount"; 
my $password = "set by prompt; 

## Settings for connecting to IMAP server 
my $imap = Mail::IMAPClient->new(
    Server   => 'mail.server.domain', 
    User    => $username, 
    Password   => $password, 
    Port    => 993, 
    Ssl    => 1, 
    Authmechanism => $authmech, 
    Debug => 1 
) or die "Cannot connect through IMAPClient: [email protected]\n"; 

スクリプトが実行されていません。

~]./status_page_msg.pl -d 

Logging in as : user_account 

Started at Sat Nov 12 19:20:11 2011 
Using Mail::IMAPClient version 3.29 on perl 5.008008 
Connecting via IO::Socket::SSL to mail.server.domain:993 Timeout 600 
Connected to mail.server.domain 
Read: * OK The Microsoft Exchange IMAP4 service is ready - 'serverName' 
Sending: 1 AUTHENTICATE NTLM 
Sent 21 bytes 
Read: + 
Sending: TlRMTVNTUAABAAAAB6IAAAoACgAgAAAAAAAAAAoAAABlYW0tc3RhdHVz 
Sent 58 bytes 
Read: 1 NO AUTHENTICATE failed. 
ERROR: 1 NO AUTHENTICATE failed. at /usr/lib/perl5/site_perl/5.8.8/Mail/IMAPClient.pm line 3047 
     Mail::IMAPClient::authenticate('Mail::IMAPClient=HASH(0x1ac95440)', 'NTLM', 'undef') called at /usr/lib/perl5/site_perl/5.8.8/Mail/IMAPClient.pm line 443 
     Mail::IMAPClient::login('Mail::IMAPClient=HASH(0x1ac95440)') called at /usr/lib/perl5/site_perl/5.8.8/Mail/IMAPClient.pm line 395 
     Mail::IMAPClient::Socket('Mail::IMAPClient=HASH(0x1ac95440)', 'IO::Socket::SSL=GLOB(0x1b43e110)') called at /usr/lib/perl5/site_perl/5.8.8/Mail/IMAPClient.pm line 351 
     Mail::IMAPClient::connect('Mail::IMAPClient=HASH(0x1ac95440)') called at /usr/lib/perl5/site_perl/5.8.8/Mail/IMAPClient.pm line 307 
     Mail::IMAPClient::new('Mail::IMAPClient', 'Server', 'mail.server.domain', 'User', 'user_account', 'Password', 'Correct', 'Port', 993, ...) called at ./status_page_msg.pl line 63 
Cannot connect through IMAPClient: 1 NO AUTHENTICATE failed. 
+0

何度も尋ねると、特にリクエストされない限り、IMAPがアカウントで無効になっていることがわかりました。他人を助けるためにこれを追加しました。使用しようとしているアカウントでIMAPが有効になっているかどうか尋ねてください。 – LF4

+0

まだ問題がある場合は、接続してもSMTP/IMAPコマンドが動作していない場合は、openssl s_client -connect server.domain.com:993と簡単に接続してみてください。try.openssl s_client -crlf -connect server.domain。 com:993 Exchangeはちょうど改行だけでなく、crも期待していたので、コマンドを正しく入力していた時にタイムアウトしました。 – LF4

答えて

1

あなたはそれが動作するために使用することを述べている必要がありますが、サーバーがExchange 2010にアップグレードしたとき

動作を停止し、「Exchange 2010 NTLM IMAP」のための迅速なGoogleがDiscontinued Features from Exchange 2007 to Exchange 2010を上げ:

Exchange 2010 RTMのPOP3またはIMAP4クライアント接続では、NTLMはサポートされていません。 NTLMを使用するPOP3またはIMAP4クライアントプログラムからの接続は失敗します。あなたはNTLMに代わるものを設定するExchange 2010のRTM、推奨されるPOP3およびIMAP4を実行している場合は、次のとおりです。

  • ケルベロス(GSSAPI)SSL

  • プレーンテキスト認証は、Exchange 2010 RTMを使用している場合NTLMを使用するには、Exchange 2010組織にExchange 2003またはExchange 2007サーバーを保持する必要があります。

    Exchange 2010 SP1では、POP3およびIMAP4接続のNTLM認証がサポートされています。

  • SSLを使用しているので、プレーンテキスト認証に切り替えることができます(Authmechanismを削除するだけです)。または、システム管理者にSP1のインストールを依頼してください。

    +0

    はいパスワードをchompingしていますが、正しいです。私はドメイン=> "ドメイン"も含めました。だからこそ、それは私のおかげだ。私はExchange 2010が何をしたのか疑問に思っています(彼らはサーバーをアップグレードしただけです)。 – LF4

    関連する問題