kostenloser Webspace werbefrei: lima-city


per PHP-Script POP3-Postfächer abrufen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    b*****m

    Hallo

    ich habe mal eine Frage.

    Man kann zwar per mail() direkt e-mails aus php senden, aber wie kann man mails aus einem (z.b. gmx) POP3-Postfach abrufen und in einer tabelle Absender, Betreff und Text ausgeben.

    Und wie kann man mails aus dem POP3-Postfach löschen???

    mfG Brianum
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p*********f

    Hab da mal nen script zusammengeschustert...
    Kanste Dir verschiedene Sahen rausnehmen und umgestalten!
    MfG

    <?php
    function head()
    {	echo "<html>\n";
    	echo "<head>\n";
    	echo "<link rel=\"stylesheet\" href=\"../../Format.css\" type=\"text/css\">\n";
    	echo "<script language=\"JavaScript\">
    	      <!--
    		var Marker =\"false\";
    		function CheckboxenAktivieren(field)
    		{
    			if(Marker==\"false\")
    			{
    			for(i=0; i<field.length; i++){field[i].checked = true;}
    			Marker = \"true\";
    			return \"unselect\";
    			}
    			else
    			{
    			for(i=0; i<field.length; i++)
    			{field[i].checked = false;}
    			Marker = \"false\";
    			return \"select\";
    			}
    		}
    	      //-->\n";
    	echo "</script>\n";
    	echo "</head>\n";
    	echo "<body>\n";
    }
    /************************************************************/
    function foot()
    {
    	echo "</td>\n</tr>\n</table>\n</center>\n</div>\n</body>\n</html>\n";
    }
    /************************************************************/
    function TextAbschneiden($Text, $Laenge)
    {
     return substr($Text, 0, $Laenge);
    }
    /************************************************************/
    function nvigation()
    {echo"
    	     <form method=\"POST\" action=\"$_server[PHP_SELF]\">
    		<input type=\"submit\" style=\"width:50\" value=\"weiter\">
    		<input type=\"submit\" style=\"width:50\" name=\"go_menue\" value=\"Menü\">
    	     </form>";
    }
    /************************************************************/
    function show_mails($server, $ktname, $paswd, $mail_inhalt)
    { head();
        $mailbox = imap_open("{".$server."}INBOX", $ktname, $paswd);
        $mails = imap_fetch_overview($mailbox,"1:*", FT_UID);
        $size=count($mails);
      if($size>0){
        echo"<form action=\"$_SERVER[PHP_SELF]\" method=\"POST\">";
        $return = '<center><h1>Mail-Office</h1>
    	       <table border="0" width="100%">
    		 <tr><td colspan=5><center>Verunden mit : '.$server.'</center></td></tr>
    		                   <input type=hidden name=server value='.$server.'>
    		                   <input type=hidden name=account value='.$ktname.'>
    		                   <input type=hidden name=pw value='.$paswd.'>
    		 <tr><td colspan=4><input type=submit style= width:50 name=loeschen value=löschen></td>
    		     <td><input type=submit style= width:50 value=Exit></td></tr>
                     <tr>
                       <td width=5% align=center><img border=0 src=../../Images/alert.Anhang.png width=15 height=15></td>
                       <td width=35%><font size="2">Von</font></td>
                       <td width=35%><font size="2">Betreff</font></td>
                       <td width=20%><font size="2">Datum / Zeit</font></td>
    		   <td width=5% align=center><input type=button style="width:50" onClick=this.value=CheckboxenAktivieren(this.form); value="select"></td>
                     </tr>';
        $cmsg = 0;
        for($i=$size-1;$i>=0;$i--)
        {
          $cmsg++;
          $data = $mails[$i];
       	$string = imap_body($mailbox, $data->msgno); 
       	if (ereg("name=",$string) && ereg("filename=",$string)) {
    	      $return .= '<tr><td width=5%><center><img border=0 src=../../Images/alert.Anhang.png width=15 height=15></td>
    			      <td width=33%><font face=Arial size=2>'.TextAbschneiden($data->from, 27).' ...</font></td>
    			      <td width=33%><a href="'.$_SERVER[PHP_SELF].'?id='.$data->msgno.'&server='.$server.'&ktname='.$ktname.'&paswd='.$paswd.'"><font face=Arial size=2>'.TextAbschneiden($data->subject, 30).' ...</font></a></td>
    			      <td  width=20%><font size=1>'.date('d.m.Y H:i', strtotime($data->date)).'</font></td>
    			      <td  width=5% align=center><input type=checkbox  name=check_del[] value='.$data->msgno.'></td>
    			  </tr>';
       	}else{
    	      $return .= '<tr><td width=5%></td>
    			      <td width=33%><font face=Arial size=2>'.TextAbschneiden($data->from, 27).' ...</font></td>
    			      <td width=33%><a href="'.$_SERVER[PHP_SELF].'?id='.$data->msgno.'&server='.$server.'&ktname='.$ktname.'&paswd='.$paswd.'"><font face=Arial size=2>'.TextAbschneiden($data->subject, 30).' ...</font></a></td>
    			      <td width=20%><font size=1>'.date('d.m.Y H:i', strtotime($data->date)).'</font></td>
    			      <td  width=5% align=center><input type=checkbox  name=check_del[] value='.$data->msgno.'></td>
    			  </tr>';
    	     }
        }
        $return .= '</table>';
        imap_close($mailbox);
        RETURN $return;
        echo"</form>";         
      }else{echo"<center><h1>Mail-Office</h1>
    	     <br><br><h2> Es sind keine eMails eingegangen</h2><br><br>";
    	     nvigation();echo"</center>";
           }
    }
    
    /************************************************************/
      function show_mail($id, $server, $ktname, $paswd)
      {
        head();
        echo"<center><INPUT type=\"button\" style=width:50 onClick=\"javascript:history.back()\"; value=\"Zur&uuml;ck\">";nvigation();echo"</center>";
        $mailbox = imap_open("{".$server."}INBOX", $ktname, $paswd);
        $mail = imap_fetchbody($mailbox,$id, FT_UID);
    //  $mail = htmlentities($mail);
        $return = '<center><h1>Test-Office</h1>
    	<table border= 1 width=100% style=border-collapse:collapse bordercolor=#808080 cellpadding=0 cellspacing=0 bordercolorlight=#C0C0C0 bordercolordark=#C0C0C0>
    		<tr><td width=10%><font size=2 face=Times New Roman>&nbsp;Von :</font></td>
    		    <td width=60%><font size=2 face=Times New Roman>&nbsp;'.$from.'</font></td>
    		    <td colspan=2 width=30%><font size=2 face=Times New Roman>&nbsp;'.TextAbschneiden($gesendet, 25).'</font></td>
    		</tr>
    		<tr><td width=10><font size=2 face=Times New Roman>&nbsp;An :</font></td>
    		    <td colspan=3 width=90%><font size=2 face=Times New Roman>&nbsp;'.$an.'</font></td>
    		</tr>
    		<tr><td width=10%><font size=2 face=Times New Roman>&nbsp;Betreff :&nbsp;</font></td>
              	    <td colspan=3 width=90%><font size=2 face=Times New Roman>&nbsp;'.$subject.'</font></td>
    		</tr>';
       if (isset($anhang)){$return.= '<tr><td width=10><font size=2 face=Times New Roman>&nbsp;Anhang : </td><td  colspan=2 width=75%><font size=2 face=Times New Roman>&nbsp;'.$name_st.'</td><td width=15%><font size=2 face=Times New Roman>'.$anhang_len.'</td></tr>';}
        $return.= '<tr><td colspan=6><pre>'.$mail.'</pre></td></tr>';   
        imap_close($mailbox); 
        return $return;
      }
    
    /************************************************************/
      if ($_POST['go_menue']){header("location: ../../menue_admin.php?do=hauptmenue");exit;}
    /************************************************************/
      if ($_POST['loeschen'])
      { $server=$_POST['server'];$account=$_POST['account'];$pw=$_POST['pw'];
        $mailbox = imap_open("{".$server."}INBOX", $account, $pw);	
        $check_del=$_POST['check_del'];
        for($i=0; $i<count($check_del); $i++){imap_delete ($mailbox, $check_del[$i]);}
        imap_expunge($mailbox);
        imap_close ($mailbox);
      }
    
    /************************************************************/
      if(isset($_GET['id'])){
       if(is_numeric($_GET['id'])){
    	echo show_mail($_GET['id'], $_GET['server'], $_GET['ktname'], $_GET['paswd']);}else{echo "Falsches Format";}}
         else{
       if(isset($_POST['sel_server'])){$file="./accounts/".$_POST['sel_server']."_server.php";require("$file");
    	echo show_mails($server, $account, $pw, $mail_inhalt);
       }else{
        head();
    	echo"<center><h1>Mail-Office</h1><br>
    	     <form method=\"POST\" action=\"$_server[PHP_SELF]\">
    	      Account-Auswahl :<select name=\"sel_server\" size=\"1\">		          
    		          	<option value=\"freenet1\">Freenet</option>
    				<option value=\"gmx\">GMX</option>
    				<option value=\"googlemail\">googlemail</option>
    			       </select>
    			       <input type=\"submit\" name=\"server_auswahl\" value=\"go\">
    				<br><br><br><br>
    			       <input type=\"submit\" style=\"width:50\" name=\"go_menue\" value=\"Menü\">
    	    </form></center>";
        }
      }
    ?>


    Beitrag geaendert: 26.5.2007 18:53:39 von promodetlef
  4. Nunja mit PHP selbst müsste man alles per Fuß machen.
    Ich selbst verwende zum Abholen und Versenden von Mails die Klassen von http://www.xpertmailer.com/

    Ist recht einfach zu verwenden und Beispiele sind auch dabei ;-)

    Grüßle
  5. Autor dieses Themas

    b*****m

    der code geht nich. was mach ich falsch???
  6. d******d

    Was Du falsch machst weiß ich zwar nicht aber Du must den Server richtig angeben
    z.B.

    Für GMX
    $account= '567134621';
    $pw= 'DeinPaßwort';
    $server='pop.gmx.net:110/pop3';

    Für Freenet
    $account= 'DeinAccountname';
    $pw= 'DeinPaßwort';
    $server='mx.freenet.de:143/imap/notls';


    Ist ganz wichtig!!!
  7. Autor dieses Themas

    b*****m

    der meldet "Parse-Errors", die accdaten sind richtig!
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!