Version: 5.5
Type: Sample Code (HOWTO)
Category: HTTP
License: GNU General Public License
Description: With this, you can check your mail.
<?php $type = "POP3"; //change it to IMAP if IMAP $server = ""; $username = ""; $password = ""; if($CMD == "topframe") { if($type == "POP3") { $mbox = imap_open("{".$server.":110/pop3}INBOX", $username, $password); } elseif($type == "IMAP") { $mbox = imap_open("{".$server."}INBOX", $username, $password); } echo "<META HTTP-EQUIV='refresh' CONTENT='1500'>n"; echo "<BODY BGCOLOR=BLUE><FONT COLOR=WHITE>n"; $mcheck = imap_check($mbox); $mnum = $mcheck->Nmsgs; $overview = imap_fetch_overview($mbox, "1:$mnum", 0); echo "<TABLE BORDER=0>n"; echo "<TR><TD>FROM</TD><TD>SUBJECT</TD><TD>DATE</TD><TD>MSG Option</TD></TR>"; $nbm = sizeof($overview); for($i= $nbm-1; $i >= 0; $i--) { $val=$overview[$i]; $nb=$val->msgno; $rawsubject = imap_mime_header_decode($val->subject); $subject = $rawsubject[0]->text; if($subject == ''){ $subject = "(no subject)"; } $from=$val->from; $date=$val->date; echo "<TR><TD><A HREF='$PHP_SELF?CMD=view&num=$nb' STYLE='cursor:hand' STYLE='color:white'>"; echo "$from</A></TD><TD><A HREF='$PHP_SELF?CMD=view&num=$nb' STYLE='color:white'>$subject</A></TD><TD><A HREF='$PHP_SELF?CMD=view&num=$nb' STYLE='color:white'>$date</A></TD><TD><A HREF='$PHP_SELF?CMD=delete&num=$nb' STYLE='color:white'>Delete</A></TR>"; } echo "</TABLE>n</BODY>"; if($overview30 = imap_fetch_overview($mbox, "1:0", 0)) { echo "<BR><FONT COLOR='white'>You have no messages in your inbox.</FONT>"; } imap_close($mbox); } elseif($CMD == "view") { if($type == "POP3") { $mbox = imap_open("{".$server.":110/pop3}INBOX", $username, $password); } elseif($type == "IMAP") { $mbox = imap_open("{".$server."}INBOX", $username, $password); } $info=imap_header($mbox, $num); $from=$info->from[0]; echo "<STYLE> A { color:yellow } </STYLE>"; echo "<BODY BGCOLOR=BLUE>n"; echo "<TABLE BORDER=0 BGCOLOR=BLUE><FONT COLOR=WHITE>"; echo "<TR><TD><A HREF='$PHP_SELF?CMD=topframe'>Back to Messages</A></TD><TD><A HREF='javascript:void(window.open("$PHP_SELF?CMD=reply&num=$num"))'>Reply to Message</A></TD><TD><A HREF='$PHP_SELF?CMD=delete&num=$num'>Delete This Message</A></TD><TD><A HREF='javascript:void(window.open("$PHP_SELF?CMD=compose"))'>Compose Message</A></TD></TR>"; echo "<TR><TD>From</TD><TD>$from->mailbox@$from->host</TD></TR>"; echo "<TR><TD>To</TD><TD>$info->toaddress</TD></TR>"; if($info->ccaddress){ echo "<TR><TD>CC</TD><TD>$info->ccaddress</TD></TR>"; } echo "<TR><TD>Date</TD><TD>$info->Date</TD></TR>"; echo "<TR><TD>Subject</TD><TD>$info->Subject</TD></TR>"; $structure = imap_fetchstructure($mbox, $num); $structure=imap_fetchstructure($mbox,$num); if(isset($structure->parts)) { echo "<tr><td>Attachments</td><td>"; while(list($key,$val) = each($structure->parts)) { if($key > 0) { if($val->ifparameters) { $attach=$val->parameters; echo "<a href='$PHP_SELF?CMD=Attachview&num=$num&part=$key' TARGET=f>"; echo $attach[0]->value; echo "</a>, "; } else { echo "<a href='$PHP_SELF?CMD=Attachview&num=$num&part=$key' TARGET=f>"; echo "(unnamed)</a>, "; } } } } echo "</TABLE><BR><PRE>"; if(isset($structure->parts)) { $body=imap_fetchbody($mbox,$num,1); } else { $body=imap_body($mbox,$num); $body=str_replace("embed", "cleaned_tag", $body); $body=str_replace("object", "cleaned_tag", $body); } echo $body; echo "</PRE><BR>"; echo "<TABLE BORDER=0>"; echo "<TR><TD><A HREF='$PHP_SELF?CMD=topframe'>Back to Messages</A></TD><TD><A HREF='javascript:void(window.open("$PHP_SELF?CMD=reply&num=$num"))'>Reply to Message</A></TD><TD><A HREF='$PHP_SELF?CMD=delete&num=$num'>Delete This Message</A></TD><TD><A HREF='javascript:void(window.open("$PHP_SELF?CMD=compose"))'>Compose Message</A></TD></TR>"; echo "</TABLE>"; imap_close($mbox); } elseif($CMD == "reply") { if($type == "POP3") { $mbox = imap_open("{".$server.":110/pop3}INBOX", $username, $password); } elseif($type == "IMAP") { $mbox = imap_open("{".$server."}INBOX", $username, $password); } $replytext=imap_header($mbox, $num); $to=$replytext->from[0]; echo "<BODY BGCOLOR=BLUE><FONT COLOR=WHITE>n"; echo "<FORM ACTION='$PHP_SELF?CMD=send' METHOD='post'>n"; echo "<H1>Reply to this Message</H1>"; echo "To: <input type='text' name='to' value='$to->mailbox@$to->host'><BR>n"; echo "From: <input type='text' name='fr' value='$replytext->toaddress'><BR>n"; $subj = $replytext->Subject; $subj = str_replace("Re: Re:", "", $subj); echo "Subject: <input type='text' name='su' value='Re: $subj'><BR>n"; echo "<TEXTAREA ROWS='20' cols='30' name='ms'>"; $body = imap_body($mbox, $num); $body = str_replace("n", "n>", $body); $body = str_replace("<", "&lt;", $body); $body = str_replace(">", "&gt;", $body); $body = str_replace("=E6", "", $body); $body = str_replace("=F8", "", $body); $body = str_replace("=E5", "", $body); $body = str_replace("=C6", "", $body); $body = str_replace("=D8", "", $body); $body = str_replace("=C5", "", $body); $body = str_replace("=A7", "", $body); $body = str_replace("=A4", "", $body); $body = str_replace("=3D", "=", $body); $body = str_replace("=20", " ", $body); $body = str_replace("=A3", "", $body); $body = str_replace("=E4", "", $body); $body = str_replace("=F6", "", $body); $body = str_replace("=C4", "", $body); $body = str_replace("=D6", "", $body); echo $body; echo "</TEXTAREA><BR>n"; echo "<INPUT TYPE=submit value='Send Message'>"; imap_close($mbox); } elseif($CMD == "delete") { if($type == "POP3") { $mbox = imap_open("{".$server.":110/pop3}INBOX", $username, $password); } elseif($type == "IMAP") { $mbox = imap_open("{".$server."}INBOX", $username, $password); } imap_delete($mbox, $num); imap_expunge($mbox); echo "<SCRIPT LANGUAGE='JavaScript'><!--nn"; echo "window.location='$PHP_SELF?CMD=topframe';n"; echo "//--></SCRIPT>"; imap_close($mbox); } elseif($CMD == "Attachview") { if($type == "POP3") { $mbox=imap_open("{".$server.":110/pop3}INBOX",$username,$password); } elseif($type == "IMAP") { $mbox=imap_open("{".$server."}INBOX",$username,$password); } else { echo "Anything other than IMAP or POP3 unknown!"; exit; } $mimetype=array("text","multipart","message","application","audio","image","video","other"); $structure=imap_fetchstructure($mbox,$num); $attach_body = imap_fetchbody($mbox,$num,$part+1); $atype=$structure->parts[$part]->type; if($atype=="") $atype=0; $asubtype=$structure->parts[$part]->subtype; if($asubtype == "") $asubtype='PLAIN'; $attach_type=$mimetype[$atype]."/".$asubtype; $attach_name=$structure->parts[$part]->parameters[0]->value; if($attach_name = "") $attach_name='(unnamed)'; $anencode=$structure->parts[$part]->encoding; if($anencode == 3){ $return_content=imap_base64($attach_body); } elseif($anencode == 4) { $return_content=imap_qprint($attach_body); } else { $return_content=$attach_body; } header("Content-type: $attach_type"); if(($atype != 0) && ($atype != 5)){ header("Content-Disposition: attachment; filename=$attach_name"); } echo $return_content; } elseif($CMD == "compose") { echo "<BODY BGCOLOR=BLUE><FONT COLOR=WHITE>n"; echo "<FORM ACTION='$PHP_SELF?CMD=send' METHOD='post'>n"; echo "<H1>Compose Message</H1>"; echo "To: <input type='text' name='to' value=''><BR>n"; echo "From: <input type='text' name='fr' value=''><BR>n"; echo "Subject: <input type='text' name='su' value=''><BR>n"; echo "<TEXTAREA ROWS='20' cols='30' name='ms'>"; echo "</TEXTAREA><BR>n"; echo "<INPUT TYPE=submit value='Send Message'>"; } elseif($CMD == "leftframe") { echo "<STYLE>n"; echo "A { color:yellow; }n"; echo "</STYLE>n"; echo "<BODY BGCOLOR=BLUE><FONT COLOR=WHITE>n"; echo "<BR><BR>NewMail 0.2<BR><BR>"; echo "<A HREF='$PHP_SELF?CMD=topframe' TARGET='msg'>INBOX</A><BR><BR><BR><BR>"; echo "<A HREF='$PHP_SELF?CMD=compose' TARGET='compwin'>Compose</A><BR><BR><BR><BR>"; echo "<A HREF='$PHP_SELF?CMD=logout' TARGET='_top'>Log Out</A><BR>"; echo "</BODY>"; } elseif($CMD == "logout") { setcookie("server"); setcookie("username"); setcookie("password"); setcookie("type"); echo "<CENTER><H1>Log Out</H1>n"; echo "You have been logged out. <a href='$PHP_SELF'>Re-Login</A>"; if($ReturnToPageLink) { echo "<BR><BR><BR><A HREF='$ReturnToPageLink?returnedfrom=NewMail'>Return to $ReturnToPageLink</A>"; } echo "</CENTER>"; } elseif($CMD == "send") { mail($to, $su, $ms, 'FROM: '.$fr); echo "<SCRIPT> window.close() </SCRIPT>"; } elseif($CMD == "framed") { echo "<HTML>n"; echo "<FRAMESET frameborder='NO' border='0' framespacing='0' COLS='109,*'>n"; echo "<FRAME SRC='$PHP_SELF?CMD=leftframe' NAME='left' SCROLLING=no>n"; echo "<FRAME SRC='$PHP_SELF?CMD=topframe' NAME='msg'>n"; echo "</FRAMESET>"; echo "</HTML>n"; } else { echo "<SCRIPT>window.location='$PHP_SELF?CMD=framed' </SCRIPT>"; } ?>