+++ /dev/null
-#!/usr/bin/perl
-# Copyright 2000 john Summerfield ,summer@os2.ami.com.au>
-# Your choice of licence: GPL 2 or later, or same licence as Perl.
-#
-# Warranty? None
-# If it breaks? The pieces are yours
-# If it breaks something? You drove it.
-# Bugs? At least one.
-
-# now we've cleared the air;
-# This supposed to allow one to talk pop-3 to a mail server. If you're lucky (and know how)
-# you might also be able to talk a few other Internet protocols with it.
-# Typically, it's run thus:
-# pop2test.1 <mailserver> [<mailport>]
-# mailport's optional; default is 110 (pop-3).
-#
-# Having started, you type away much as you would with telnet.
-#
-#
-#
-# It has this great advantage over telnet: it reads its input from stdin and writes to stdout;
-# you can prepare the entire sequence in a file, then run it this:
-# pop2test.1 <thefileyoujustcreated >theresultsyouwanttoperuse host port
-#
-#
-# uses:
-# 1 Debugging POP3 (and maybe imap does anyone know?) mail problems
-# 2 Deleting the occasional piece of mail that's too big or stuffs fetchmail.
-# 3 Talking to sendmail
-#
-use Socket;
-sub hx;
-sub getreply;
-$timeout=1;
-$RemoteHost = $ARGV[0];shift;
-$RemotePort = $ARGV[0] || 110;shift;
-($PRname,$PRaliases,$PRport,$PRproto) = getservbyname($RemotePort,'tcp');
-$PRport=$RemotePort unless $PRport;
-$proto=getprotobyname($PRproto);
-$RemoteIP = inet_aton $RemoteHost or die "Can't resolve $RemoteHost";
-$that = pack 'Sna4x8',AF_INET, $PRport, $RemoteIP;
-socket(REMOTESITE,AF_INET,SOCK_STREAM,$proto)
- or die "Can't create socket to $RemoteHost: $!\n";;
-connect(REMOTESITE, $that) or die "Can't connect: $!\n";
-select(REMOTESITE);$|=1;select STDOUT;
-$rin = $win = $ein = '';
-vec($rin,fileno(REMOTESITE),1) = 1;
-#vec($win,fileno(REMOTESITE),1) = 1;
-$ein = $rin | $win;
-getreply;
-while ($L=<STDIN>)
-{
- chomp $L;
- print REMOTESITE $L . "\r\n";
- print "send: " . $L . "\n";
- getreply;
-}
-print REMOTESITE "Quit\r\n";
-getreply;
-#print <REMOTESITE>;
-close REMOTESITE;
-exit;
-# P
-sub hx
-{
- $N=$_[0];shift;
- $S=$_[0];shift;
- return "$N(" . unpack("h", $S) . ") ";
-}
-sub getreply
-{
- while ('x')
- {
- ($nfound,$timeleft) = select($rout=$rin, undef, $eout=$ein, $timeout);
- last if $nfound == 0;
-# print "nf($nfound) tl($timeleft) " . hx("rin",$rin) . hx("rout", $rout) . hx("ein",$ein) . hx("eout",$eout) . "\n";
- $Reply= <REMOTESITE>;
- print "recv: " . $Reply;
- last if $Reply eq '';
- $Reply =~ s/[\r\n]*//;
- last if $Reply eq '.';
- }
-}
-