#!/usr/bin/perl ### POP3 checker v1.0 by Forb ### Uses modules use IO::Socket; ### MAIN variables ### $positive='\+OK'; $negative='-ERR'; $server='mail.ru'; $port=110; $user='vasya'; $password='forSMS'; $success='/home/vasya/eggdrop/scripts/mail.txt'; ### Main part of script &sock($user,$password); sub sock { my($banner,$socket); my($user,$passwd)=@_; $socket=IO::Socket::INET->new( PeerAddr => $server, PeerPort => $port, Proto => tcp) or return -1; $socket->autoflush(1); chomp($banner=<$socket>); print $socket "USER $user\n"; chomp($banner=<$socket>); print $socket "PASS $passwd\n"; chomp($banner=<$socket>); $banner=~s/\r//g; print $socket "LIST\n"; chomp($banner=<$socket>); $banner=~s/\r//g; while ($banner ne '.') { chomp($banner=<$socket>); $banner=~s/\r//g; push(@banners,$banner); } $string=$banners[scalar(@banners)-2]; ($num,$size)=split ' ',$string; chomp($size); $num=~s/\r//g; if ($num == 0) { exit } if ($size < 1000) { print $socket "RETR $num\n"; chomp($banner=<$socket>); $banner=~s/\r//g; while ($banner ne '.') { chomp($banner=<$socket>); $banner=~s/\r//g; push(@banner2,$banner); } $message=$banner2[scalar(@banner2)-2]; open (FILES,">$success") || die print "cant open\n"; if ($message=~/^IRC /i) { print FILES "$message\n" } else { print FILES "empty\n" } close(FILES); print $socket "DELE $num\n"; print $socket "QUIT\n"; close($socket); } }