Webmaster общности: Predpriemach.com | SearchEngines.bg

    Бърз Webmail

    Автор: boby

    Сега ще ви покажа как да направите бърз Webmail (получаване, изпращане, триене, отговор на писма) с помощта на един PHP скрипт. Скрипта работи с един email. Ето скрипта:

    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <?php
    
    $type = "POP3"; //àêî å IMAP íàïèøåòå IMAP
    $server = "тук напишете домейна на сайта ви";
    $username = "тук напишете e-maila, с който искате да работи системата";
    $password = "тук паролата за e-maila";
    
    
    
    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>ÎÒÍÎÑÍÎ</TD><TD>DATE</TD><TD>Îïöèè</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 = "(íÿìà îòíîñíî)"; }
    $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'>Èçòðèé</A></TR>";
    }
    echo "</TABLE>\n</BODY>";
    if($overview30 = imap_fetch_overview($mbox, "1:0", 0)) {
    echo "<BR><FONT COLOR='white'>Íÿìàòå ñúîáùåíèÿ âúâ âõîäÿùàòà ïîùà.</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'>Âúðíè ñå â ñúîáùåíèÿ</A></TD><TD><A HREF='javascript:void(window.open(\"$PHP_SELF?CMD=reply&num=$num\"))'>Îòãîâîðè íà ñúîáùåíèåòî</A></TD><TD><A HREF='$PHP_SELF?CMD=delete&num=$num'>Èçòðèé òîâà ñúîáùåíèå</A></TD><TD><A HREF='javascript:void(window.open(\"$PHP_SELF?CMD=compose\"))'>Èçïðàòè íîâî ñúîáùåíèå</A></TD></TR>";
    echo "<TR><TD>Îò:</TD><TD>$from->mailbox@$from->host</TD></TR>";
    echo "<TR><TD>Äî:</TD><TD>$info->toaddress</TD></TR>";
    if($info->ccaddress){ echo "<TR><TD>CC</TD><TD>$info->ccaddress</TD></TR>"; }
    echo "<TR><TD>Äàòà</TD><TD>$info->Äàòà</TD></TR>";
    echo "<TR><TD>Îòíîñíî</TD><TD>$info->Îòíîñíî</TD></TR>";
    $structure = imap_fetchstructure($mbox, $num);
    $structure=imap_fetchstructure($mbox,$num);
    if(isset($structure->parts)) {
    echo "<tr><td>Ïðèêà÷åíè ôàéëîâå</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'>Âúðíè ñå â ñúîáùåíèÿ</A></TD><TD><A HREF='javascript:void(window.open(\"$PHP_SELF?CMD=reply&num=$num\"))'>Îòãîâîðè íà ñúîáùåíèåòî</A></TD><TD><A HREF='$PHP_SELF?CMD=delete&num=$num'>Èçòðèé òîâà ñúîáùåíèå</A></TD><TD><A HREF='javascript:void(window.open(\"$PHP_SELF?CMD=compose\"))'>Èçïðàòè íîâî ñúîáùåíèå</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>Îòãîâîð íà ñúîáùåíèå</H1>";
    echo "Äî: <input type='text' name='to' value='$to->mailbox@$to->host'><BR>\n";
    echo "Îò: <input type='text' name='fr' value='$replytext->toaddress'><BR>\n";
    $subj = $replytext->Subject;
    $subj = str_replace("Re: Re:", "", $subj);
    echo "Îòíîñíî: <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("<", "<", $body);
    $body = str_replace(">", ">", $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='Èçïðàòè ïèñìîòî'>";
    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'><!--\n\n";
    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 "ÃÐÅØÊÀ!!! IMAP èëè POP3 íåâàëèäíè!"; 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>Íàïèøè íîâî ïèñìî</H1>";
    echo "Äî: <input type='text' name='to' value=''><BR>\n";
    echo "Îò: <input type='text' name='fr' value=''><BR>\n";
    echo "Îòíîñíî: <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='Èçïðàòè ïèñìîòî'>";
    } 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>Ìåéë<BR><BR>";
    echo "<A HREF='$PHP_SELF?CMD=topframe' TARGET='msg'>ÂÕÎÄßÙÈ</A><BR><BR><BR><BR>";
    echo "<A HREF='$PHP_SELF?CMD=compose' TARGET='compwin'>Íàïèøè íîâî ïèñìî</A><BR><BR><BR><BR>";
    echo "<A HREF='$PHP_SELF?CMD=logout' TARGET='_top'>Èçëåç</A><BR>";
    echo "</BODY>";
    } elseif($CMD == "logout") {
    setcookie("server");
    setcookie("username");
    setcookie("password");
    setcookie("type");
    echo "<CENTER><H1>Èçëèçàíå</H1>\n";
    echo "Âèå èçëÿçîõòå îò âàøàòà ïîùåíñêà êóòèÿ. <a href='$PHP_SELF'>Âëåç ïàê</A>";
    if($ReturnToPageLink) {
    echo "<BR><BR><BR><A HREF='$ReturnToPageLink?returnedfrom=NewMail'>Върни се $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>";
    }
    ?>

    Скрипта е превеждан от мен. Нека ако някой иска да го копира някъде да ме помоли.

    P.S. Скрипта се нуждае от лекичка доработка и дизайн 😉

    Оставете коментар