#!/usr/local/bin/php -q
<?php
# KILLPOP Ver. 1.0

echo "KILLPOP - erase all mails in an account\n";

function 
pop3check($buffer) {
    
// pop3check is used to check if the reply is positive or negative - the way pop works.
    
if ($buffer[0] == '+'$state true;
    else 
$state false;

    return 
$state;
    }    

// Open console filepointer
$console fopen("php://stdin"'r');

echo 
"\nMailserver: ";
    
$mailserver fgets($console200);
echo 
"Username: ";
    
$username fgets($console100);
echo 
"Password: ";
    
$password fgets($console100);

$mailserver str_replace("\n"""$mailserver);
$username str_replace("\n"""$username);
$password str_replace("\n"""$password);

// Agree?
do {
echo 
"\nDo you REALLY want to delete ALL contents of this mailbox? (y/n) ";
    
$agree fgets($console2);
} while (
$agree != 'y' && $agree != 'n');

if (
$agree == 'n') {
    die (
"\n\nAborted.");
    }
else  { echo 
"\nSo you agree."; }
// EOF Agree


// Connect
echo "\n\n-- Attempting to connect to $mailserver port 110...";

$fp_mailserver = @fsockopen($mailserver'110'$errno$errstr'10');
if (
$errno != 0) {
    echo 
"\n-- Error: Connect failed: $errstr ($errno)";
    exit;
    }


echo 
"connected.";

// Read Welcomeline
$readbuffer fgets($fp_mailserver1000);
$readbuffer str_replace("\n"""$readbuffer);
echo 
"\n<- $readbuffer";
pop3check($readbuffer) or die("\n-- POP Server returned error status.\n");

// USER
fputs($fp_mailserver"USER $username\n");
echo 
"\n-> USER $username";

unset(
$readbuffer);
$readbuffer fgets($fp_mailserver1000);
$readbuffer str_replace("\n"""$readbuffer);
echo 
"\n<- $readbuffer";
pop3check($readbuffer) or die("\n-- Username not accepted or other error.\n");

// PASS
fputs($fp_mailserver"PASS $password\n");
echo 
"\n-> PASS ..hidden..";

unset(
$readbuffer);
$readbuffer fgets($fp_mailserver1000);
$readbuffer str_replace("\n"""$readbuffer);
echo 
"\n<- $readbuffer";
pop3check($readbuffer) or die("\n-- Password incorrect - login denied or other errors.\n");

// STAT
fputs($fp_mailserver"STAT\n");
echo 
"\n-> STAT";

unset(
$readbuffer);
$readbuffer fgets($fp_mailserver1000);
$readbuffer str_replace("\n"""$readbuffer);
echo 
"\n<- $readbuffer";
pop3check($readbuffer) or die("\n-- Stat not accepted or other error.\n");
$stat_array explode(" "$readbuffer);
$num_mails $stat_array[1]; // +OK 1234 12321414
unset($stat_array);

// Del!

for ($i=1$i<=$num_mails$i++) {
    
// Delete!!!!!!!!!!!!!!!!!!!!!!
    
fputs($fp_mailserver"DELE $i\n");
    echo 
"\n-> DELE $i";

    unset(
$readbuffer);
    
$readbuffer fgets($fp_mailserver1000);
    
$readbuffer str_replace("\n"""$readbuffer);
    echo 
"\n<- $readbuffer";
    
pop3check($readbuffer) or die("\n-- Server returned error code.");
    }

// QUIT
fputs($fp_mailserver"QUIT\n");
echo 
"\n-> QUIT";

unset(
$readbuffer);
$readbuffer fgets($fp_mailserver1000);
$readbuffer str_replace("\n"""$readbuffer);
echo 
"\n<- $readbuffer";
fclose($fp_mailserver);
echo 
"\n-- Connection closed.";

fclose($console);
echo 
"\n\nSuccessfully deleted $num_mails mails for $username on $mailserver.";
echo 
"\n\n";
?>