PHPBuilder - POP3 Web based e-mail



RSS Twitter
Snippets Networking

POP3 Web based e-mail

by: James Holden (london uk)
|
March 31, 2001

Version: 1.02

Type: Class

Category: Networking

License: GNU General Public License

Description: Create a web based POP3 (and IMAP) email system. If you want to provide something like Hotmail to your users, access your own POP mail via the web or offer a generic pop service to users then this class is for you. Please note that the code is still a little buggy in decoding the return header string, but make of it what you want.



<center>Here is the class file, it is very rough, take from it what ever you can, i havent
had much time to do anything with it as I've just got a new job! :-)  So, <a href="class.txt">here</a> it is.</center><br>

<?
	if (!$a && !$host && !$user && !$pass) {

		printf("<center><br><font color=\"white\">[ <a href=\"%s?a=login\">Log into an account</a> | <a href=\"%s?a=kill\">Log out</a> ]<br></font></center>",$PHP_SELF,$PHP_SELF);

	}

	if ($a=="kill") {
		$host="";
		$pass="";
		$user="";
		setcookie("host","");
		setcookie("user","");
		setcookie("pass","");
		printf("<br><center>You have been logged out of your account, thanks for visiting<br>");
		printf("<font color=\"white\">[ <a href=\"%s?a=login\">Log into an account</a> | <a href=\"%s?a=kill\">Log out</a> ]<br></font></center>",$PHP_SELF,$PHP_SELF);
		exit;
	}

	if ($a=="login") {
		?><html><body bgcolor="#FFFFFF" text="#000000">
			<form action="<? echo($PHP_SELF); ?>" method="post">
  <table width="600" border="0" cellspacing="0" cellpadding="3" align="center" bgcolor="#669999">
    <tr>
      <td>
        <table width="100%" border="0" cellspacing="0" cellpadding="9" bgcolor="#333333">
          <tr>
            <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><b>Logging
              onto your account</b></font></td>
          </tr>
        </table>
      </td>
    </tr>
    <tr>
      <td>
        <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Please
          note that we retain no details of the information you pass to us. Our
          log entries do not contain the username / passwords you enter and our
          system does not record your details. This system is NOT secure, please
          understand that this is a testing system only.</font></div>
      </td>
    </tr>
    <tr>
      <td>
        <table width="100%" border="0" cellspacing="0" cellpadding="2">
          <tr>
            <td>
              <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>Type</b></font></div>
            </td>
            <td>
              <select name="type">
                <option value="1" selected>POP3 Email</option>
                <option value="2">News Server</option>
              </select>
            </td>
          </tr>
          <tr>
            <td>
              <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Host:
                </font></b></div>
            </td>
            <td> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              <input type="text" name="host">
              </font></b></td>
          </tr>
          <tr>
            <td>
              <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Username:
                </font></b></div>
            </td>
            <td> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              <input type="text" name="user">
              </font></b></td>
          </tr>
          <tr>
            <td>
              <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Password:
                </font></b></div>
            </td>
            <td> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
              <input type="password" name="pass">
              </font></b></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>
              <div align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <input type="submit" name="submit" value="Login">
                </font></b></div>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>
</form>
		<?
		printf("<center><br><font color=\"white\">[ <a href=\"%s?a=login\">Log into an account</a> | <a href=\"%s?a=kill\">Log out</a> ]<br></font></center>",$PHP_SELF,$PHP_SELF);
		exit;
	}

	if ($host && $user && $pass){
		setcookie("host",$host);
		setcookie("user",$user);
		setcookie("pass",$pass);


	printf("<center><br><font color=\"white\">[ <a href=\"%s?a=login\">Log into an account</a> | <a href=\"%s?a=kill\">Log out</a> | <a href=\"%s\"?a=checkInbox>Check Inbox</a> ]<br></font></center>",$PHP_SELF,$PHP_SELF,$PHP_SELF);
	require("mailclass.phtml");
	$pop = new PhpPop3($host,$user,$pass);
	$pop->SetTotalMails();



?>

<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<!-- *********************************************************************************** -->




<table width="600" border="0" cellspacing="0" cellpadding="1" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  <tr>
    <td>
      <table width="600" border="0" cellspacing="0" cellpadding="3" bgcolor="#669999">
        <tr>
          <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="9" bgcolor="#333333">
              <tr>
                <td><font color="#FFFFFF"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">POP
                  Mail Reader, v1.0;</font></b></font></td>
              </tr>
            </table>

          </td>
        </tr>
        <tr>
          <td>
            <div align="right"><font size="3" color="#CCCCCC"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Mail
              box for
              <? echo($pop->POPusername); ?>
              on
              <? echo($pop->POPserver); ?>
              </font></font><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
              You currently have
              <? echo($pop->totMail()); ?>
              mail messages</font></div>
          </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>
            <table width="97%" border="0" cellspacing="1" cellpadding="3" align="center">
              <tr bgcolor="#003366">
                <td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Date</font></b></td>
                <td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Author</font></b></td>
                <td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Title</font></b></td>
                <td><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFFF">Flags</font></b></td>
              </tr>
              <?

                $pop->ListMails();


              ?>


            </table>
          </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>

          <?



		  	if (@$a=="mail") {
				printf("<font face=\"verdana\" size=\"2\" color=\"white\">");
		  			$pop->printHeader($msgid);
		  			$pop->ListSpecificMail($msgid);
		  		printf("</font>");
		  	//	$pop->retHeader($msgid);



		  	}

		  	$pop->Destructor();



          ?>



          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

<?
}
?>

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
James Holden (london uk)

Comment:



Comment:

(Maximum characters: 1200). You have characters left.