How about setting up a test account that I can login to from here. you try to login with the script as well with the sniffer running so I can compare things
Eric S ----- Original Message ----- From: "E. Shanbrom (Ipswitch)" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Friday, March 18, 2005 12:43 PM Subject: Re: [IMail Forum] IMAP Connection Using Perl [Revisited] > I would have to look at this line: > > print $REM_IMAP "x LOGIN [EMAIL PROTECTED] password\n"; > > What are you populating the "x" variable with. This needs to be a positive > integer..Is that happening? I would like to see the trace from ethereal....I > am going to be out of the office and out of touch until at least tomorrow > but will try to look at it sometime this weekend...You can send the traces > to me directly if need be but I'm sure someone else here can look at them as > well > > Eric S > > > ----- Original Message ----- > From: "Duane Hill" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Friday, March 18, 2005 11:57 AM > Subject: [IMail Forum] IMAP Connection Using Perl [Revisited] > > > > > > Ok. I'm starting over and going to explain this slowly. First, I can > successfully telnet into > > our IMail server via IMAP port 143 and login and logout fine. However, > when I attempt to use > > ActiveState Perl v5.8.4 and the Perl module IO::Socket the login fails. > The connection itself > > does succeed without error. I have listed below the secion of code again > with the values hard > > coded. I have marked up the code below to show what the responses from > IMail are at each step. > > I have also commented everything to include as much detail in an attempt > to explain what goes > > on with the script. > > > > > > > # -------------------------------------------------------------------------- > ---------------- > > # This section is what establishes the connection to IMail via IMAP > using Perl. > > > > # This creates a new IMAP connection to 63.110.140.31 using port 143 > (IMAP). If the connection > > # is not successfull, the script will at this point die. > > > > $REM_IMAP = new IO::Socket::INET( PeerAddr => '63.110.140.31', > > PeerPort => 143 > > ) || die "Can't connect to remote server > via IMAP\n"; > > > > # This will force the $REM_IMAP to flush after every print. > > > > $REM_IMAP->autoflush(1); > > > > # Now, we loop through the responses from IMail until we get the final > response. > > > > do { > > $IMAPResponse = <$REM_IMAP>; > > print "$IMAPResponse\n"; # -----> This is here for debugging purposes. > > } until($IMAPResponse =~ /^\* /); > > > > ##### At this point, IMail has given the response "* OK IMAP4 Server > (IMail 8.15)" and > > ##### this is the ONLY response that is received. > > > > > > > > > # -------------------------------------------------------------------------- > ---------------- > > # This section is what performs the login to an e-mail account via IMAP > using Perl. So, at > > # this point, the actual socket connection to IMail has succeeded 100% > without error. > > > > # We now want to send to the socket connection the IMAP command to > login. The '\n' (newline) > > # is needed at the end to signify the end of the input stream. On > Windows, '\n' is translated > > # to <CRLF>. > > > > print $REM_IMAP "x LOGIN [EMAIL PROTECTED] password\n"; > > > > # Again, we loop through the responses from IMail until we get the final > response that begins > > # with 'x'. That is what we used in the line to login. Any character > sequence can be used. It > > # is what assigns a unique value to the particular IMAP command issued. > IMail should respond > > # to us each step of its way with responses starting with this value. > > > > do { > > $IMAPResponse = <$REM_IMAP>; > > print "$IMAPResponse\n"; # -----> This is here for debugging purposes. > > } until($IMAPResponse =~ /^x /); > > die "Can't login to remote IMAP: $IMAPResponse\n" unless($IMAPResponse > =~ /^x OK/); > > > > ##### At this point, IMail has given the response "x BAD LOGIN Invalid > Syntax" and > > ##### this is, again, the ONLY response that is received. With the > response not matching > > ##### what we are looking for, the script dies because we have NOT > successfully logged into > > ##### the e-mail account. > > > > > > > # -------------------------------------------------------------------------- > ---------------- > > > > I have also started up Ethereal to sniff the line BOTH on the telnet > session as well as the > > Perl script session. BOTH do not look any differant than the other. I > have also, again, done > > the same to two other MTA's we run here and they BOTH have no issues > with the login sequence. > > > > ----- > > > > Duane Hill > > Sr E-Mail Administrator > > http://www.yournetplus.com > > > > > > To Unsubscribe: http://www.ipswitch.com/support/mailing-lists.html > > List Archive: http://www.mail-archive.com/imail_forum%40list.ipswitch.com/ > > Knowledge Base/FAQ: http://www.ipswitch.com/support/IMail/ > > > > > To Unsubscribe: http://www.ipswitch.com/support/mailing-lists.html > List Archive: http://www.mail-archive.com/imail_forum%40list.ipswitch.com/ > Knowledge Base/FAQ: http://www.ipswitch.com/support/IMail/ > To Unsubscribe: http://www.ipswitch.com/support/mailing-lists.html List Archive: http://www.mail-archive.com/imail_forum%40list.ipswitch.com/ Knowledge Base/FAQ: http://www.ipswitch.com/support/IMail/
