尝试使用Mail::IMAPClient连接到Exchange时,不断收到无法登录的消息。根据我所读到的,一切都应该是可行的。我已经让它连接到Gmail,但尝试连接到MS Exchange似乎更难。是什么原因导致它在身份验证时失败?
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: $@\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.发布于 2011-11-12 08:12:53
您应该说它以前可以工作,但在服务器升级到Exchange 2010后停止工作。
在谷歌上快速搜索"Exchange 2010 NTLM IMAP“,就会出现Discontinued Features from Exchange 2007 to Exchange 2010
Exchange2010RTM中的
或IMAP4客户端连接不支持Exchange。使用NTLM从POP3或IMAP4客户端程序进行连接将失败。如果您运行的是Exchange2010RTM,则建议使用以下POP3和IMAP4设置替代NTLM:
如果您使用的是Exchange 2010 RTM,则必须在Exchange 2010组织中保留Exchange 2003或Exchange 2007服务器才能使用NTLM。
在Exchange2010 SP1中恢复了对POP3和IMAP4连接的NTLM身份验证的支持。
由于您正在使用SSL,您应该能够切换到纯文本身份验证(只需删除Authmechanism)。或者,让您的系统管理员安装SP1。
https://stackoverflow.com/questions/8100068
复制相似问题