2014-07-12 2 views
1

IMAP을 통해 Outlook 전자 메일 서버에 연결하려고하는데 오류가 발생했습니다. 나는이 프로그램을 실행할 때Perl에서 Net :: IMAPClient를 사용하여 연결 오류가 발생했습니다.

use Mail::IMAPClient; 

my $imap = Mail::IMAPClient->new; 
$host='outlook.office365.com'; 
$username='.....'; 
$password='.....'; 
$folder='INBOX'; 
$imap=Mail::IMAPClient->new(
       Server => $host, 
       User => $username, 
       Password => $password, 
       Port => 993, 
       Ssl => 1, 
       Clear=> 5, 
       Folder => $folder, 
       Uid => 0, 
)  or die "Cannot connect to $host as $username: [email protected]"; 

가, 출력 라인은 다음과 같습니다 : 여기 내 코드의 샘플입니다

과 같이 outlook.office365.com에 연결할 수 없습니다가 [...] : 읽는 동안 소켓 폐쇄 서버의 데이터.

특히 서버에서 데이터를 읽는 중 소켓이 닫혀 있으면 혼란 스럽습니다.

포트 993을 지정 했으므로이 문제를 방지하는 방화벽이 있다는 유일한 문제가 남아 있습니까? 나는 학교 이메일을 학교 전자 메일 계정으로 기술 부서에 이메일로 보내 왔지만 아직 돌아 가지 않았다. 그러나 곧 그들로부터 소식을 듣겠다. 나는 포트를 지정하는 행을 제거 할 때

나는 나는 단지 어떻게 든 관련 또는 도움이 될 것입니다 희망에 포함하고, 더 낯선 오류가 발생합니다 :

는 [로 outlook.office365.com에 연결할 수 없습니다 .. .] : '1 로그인 "[email protected]"{15} [암호가 여기에 표시됩니다. 여기에 강제 문자를 사용할 수 없습니다.] 'to IMAP : 잘못된 파일 기술자 ./ test.pl 라인 (10)

+0

첫 줄의 과제는 무엇입니까? 새 클라이언트를 작성하고 즉시 폐기합니다. 나는 그것이 당신의 문제의 근원이라고 생각하지 않지만 그것은 혼란스럽고 시정되어야합니다. – tripleee

+0

IMAPClient에서 디버깅 출력을 켜고 결과 내역을 게시해야합니다 (질문을 수정하여 업데이트 된 정보 포함). – tripleee

답변

1

OpenSSL을 직접 확인하시기 바랍니다 :

openssl s_client -connect outlook.office365.com:993 
이 연결이 방화벽에 의해 정도 차단 작동하지 않는 경우

* OK The Microsoft Exchange IMAP4 service is ready. .... 

:

이는 IMAP 서버에서 환영 메시지 당신에게 연결과 끝을 제공해야합니다. 이 IO :: 소켓 :: SSL 모듈 메일입니다와 연결을 시도 :: IMAPClient는 SSL 연결에 사용 작동하는 경우 :

perl -MIO::Socket::SSL -e 'print IO::Socket::SSL->new(q[outlook.office365.com:993])->getline.""' 

이것은 또한 당신에게 환영 메시지를 제공해야합니다. 그렇지 않은 경우 인증서 검사 등의 문제가있을 수 있습니다. 이 경우 사용중인 모듈과 운영체제 버전을 게시하십시오.

perl -e 'print "version=$^V, os=$^O\n"' 
perl -MIO::Socket::SSL -e 'print IO::Socket::SSL->VERSION,"\n"' 
perl -MMail::IMAPCient -e 'print Mail::IMAPClient->VERSION,"\n"' 

하지만, IO :: 소켓 :: SSL가 성공적으로 연결이 Mail::IMAPClient->newDebug => 1 옵션을 추가하고 질문에 출력을 추가하시기 바랍니다 얻는 경우에.

+0

좋은 조언이지만, 실제로 질문에 답하지 않고 의견에 올바르게 포함됩니다. – tripleee

+0

그래서 openssl 명령을 실행하여 환영 메시지를 받았다. SSL 클래스로 작업하고 일관된 결과를 얻 자마자 업데이트 할 것이다. 고맙습니다! – doomsday

관련 문제