php.de

Zurück   php.de > php.de Intern > Beitragsarchiv

Beitragsarchiv Nur gucken, nichts anfassen. Das Archiv der Beiträge vergangener Zeiten.

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.01.2005, 21:29  
Tobias
Gast
 
Beiträge: n/a
Standard Emails anzeigen mit PHP

Das Tutorial wurde geschrieben von: Tobias

Beschreibung, Teil 1: Anzeigen einer Emailübersicht (hier: POP3-Postfach)
PHP-Code:
<?

$mailbox 
imap_open("{localhost}:110/pop3}INBOX","accountname","passwort"); // Bei IMAP einfach /pop3 weglassen..

$mails imap_fetch_overview($mailbox,"1:*"FT_UID); // Holt eine Übersicht aller Emails

// Ausgabe in einer Tabelle:
echo '<table width="100%">
 <tr>
  <td>#</td>
  <td>Von</td>
  <td>Datum / Zeit</td>
  <td>Betreff</td>
 </tr>'
;

$size=count($mails); // Anzahl der Nachrichten
$cmsg 0// Zur Ausgabe einer fortlaufenden Nummer
for($i=$size-1;$i>=0;$i--){ // Schleife
$cmsg++;
$value $mails[$i];
echo 
'<tr><td>'.$cmsg.'</td><td>'.$value->from.'</td><td>'.$value->date.'</td><td>'.$value->subject.'</td></tr>';
}

echo 
'</table>';

imap_close($mailbox);

?>
Beschreibung, Teil 2: Anzeigen einer Email (einfach (text/plain-mail))
PHP-Code:
<?php

$mailbox 
imap_open("{localhost}:110/pop3}INBOX","accountname","passwort");

$mail imap_body($mailbox,$_REQUEST['id'], FT_UID);
// Holt die Email..

$mail htmlentities(stripslashes($mail));
/* stripslashes entfernt die slashes,
htmlentities wandelt alle html-zeichen in entspr. html-codes um. */


echo '<pre>'.$mail.'</pre>';

imap_close($mailbox);

?>
Verwendete Funktionen:
int imap_open ( string mailbox, string username, string password [, int flags])
array imap_fetch_overview ( int imap_stream, string sequence [, int flags])
int count ( mixed var)
int imap_close ( int imap_stream [, int flags])
string imap_body ( int imap_stream, int msg_number [, int flags])
string stripslashes ( string str)
string htmlentities ( string string [, int quote_style [, string charset]])
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.01.2005, 14:28  
Gast
 
Beiträge: n/a
Standard

Zitat:
$mailbox = imap_open("{localhost}:110/pop3}INBOX","accountname","passwort");
Ah, ich bin einfach zu doof dafür. Was müsst ich denn jetzt z.B. genau angeben, wenn ich Mails von nem GMX Account abholen möchte?
Verstehe nicht ganz, was da bei localhost hin muss und wie das mit dem Port genau ist ...
kurz gesagt hab ich einfach Mühe mit dem ersten String, der übergeben werden muss, weis nicht genau, was da reinquetschen. Wär froh um ein paar Beispiele.
 
Alt 29.01.2005, 19:22  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

oder läuft das Skript nur lokal auf dem gleichen Server?
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 29.01.2005, 19:56  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Yuki-Chuki
Ah, ich bin einfach zu doof dafür. Was müsst ich denn jetzt z.B. genau angeben, wenn ich Mails von nem GMX Account abholen möchte?
Aus der GMX FAQ:
EDIT: eine falsche geschweifte Klammer beseitigt
Code:
$mailbox = imap_open("{pop.gmx.net:110/pop3}INBOX","Ihre GMX-Kundennummer ","Ihr GMX-Passwort");
 
Alt 29.01.2005, 21:06  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

mit den Daten meldet er mir:


Code:
Warning: imap_open() [function.imap-open]: Couldn't open stream {pop.gmx.net}:110/pop3}INBOX in /daten/htdocs/mail.php on line 3

Warning: imap_fetch_overview(): supplied argument is not a valid imap resource in /daten/htdocs/mail.php on line 5
# 	Von 	Datum / Zeit 	Betreff
1			

Warning: imap_close(): supplied argument is not a valid imap resource in /daten/htdocs/mail.php on line 26
supertramp ist offline  
Alt 29.01.2005, 21:21  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von supertramp
mit den Daten meldet er mir:
Beachte mein EDIT. Ich hatte die Befehlszeile von Yuki-Chuki übernommen und ergänzt.
 
Alt 30.01.2005, 11:01  
Gast
 
Beiträge: n/a
Standard

Hab hier noch eine Frage. S geht um das versenden von Mails. Nein, keine ngst, dass das mit imap_mail() geht, hab ich schon begriffen. Doch folgendes steht bei
GMX:

Da Spammer häufig gefälschte Absenderadressen verwenden, besteht ein relativ einfacher Spamschutz darin zu prüfen, ob Absenderadresse und Domain des einliefernden Mailservers übereinstimmen. Falls nicht, handelt es sich wahrscheinlich um Spam.

Und weiter, dass halt Mails gelöscht oder garnicht akzeptiert würden, bei denen Serverdomain und Adresse nicht übereinstimmen.

Muss also die Mail über den richtigen Server versenden- in dem Fall über GMX.


Doch wie? Dachte erst, das würde vieleicht einfach über die Mailbox geschehen, zu der ich mich vorher mit imap_open verbunden hab. Doch ich hab ja nirgends den SMTP-Server angegeben und wennenn ich mir imap_mail) so anschaue, merk ich, dass ich das auch dort nicht tun kann:

bool imap_mail ( string to, string subject, string message [, string additional_headers [, string cc [, string bcc [, string rpath]]]] )

Darum geh ich davon aus, dass die Mail mit einer solchen Lösung über den Server versendet würde, auf dem das Script liegt.

Irre ich mich?
Gibt es eine Lösung, die meinen Wünschen entspricht?

Ach ja, natürlich hab iche rst im Net gesucht, aber nichts gefunden, was mir wirklich weiterhalf...

Vielen Dank, Yuk.


PS Wenn ichd as je wirklich begreif, schreib ich n Tutorial für ein Mailsystem, auf das andere sowas nicht mehr fragen (müssen) ^.~
 
Alt 30.01.2005, 11:10  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

tja, für ein ausgewachsenes webmail reicht es zwar noch nicht
Aber es funktioniert - und macht Lust auf mehr...
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 30.01.2005, 11:44  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Yuki-Chuki
Muss also die Mail über den richtigen Server versenden- in dem Fall über GMX.
Ja.

Zitat:
Doch wie?
Das kommt auf das Protokoll an. Handelt es sich um eine echte IMAP Box, kannst Du imap_mail() benutzen, weil Du Dich ja per imape_open() schon authentifiziert hast

Handelt es sich um POP3, kommt es darauf an, wie sich der SMTP Server gegen SPAM schützt. Gängige Verfahren sind SMTP-after-POP, SMTP-Auth usw.

SMTP-after-POP:
hier könntest Du ebenfalls imap_mail benutzen, wenn eine korrekte Absenderadresse angibst - also die, die als Alias bei der POP3 Box eingetragen wurde. Wichtig dabei: erst die Post abholen, dann wegschicken.

SMTP-Auth (wird GMX sicher benutzen):
hier kannst Du weder mail() noch imap_mail() benutzen. Suche Dir eine Mailklasse, die SMTP-Auth beherrscht:
phpmailer, PEAR :: Mail usw.
 
Alt 30.01.2005, 16:41  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

Ich habe das Tutorial mal in eine Datei zusammengefasst:
PHP-Code:
<?php
  
function show_mails($server$ktname$paswd)
  { 
    
$mailbox imap_open("{".$server.":110/pop3}INBOX"$ktname$paswd);
    
$mails imap_fetch_overview($mailbox,"1:*"FT_UID); // Holt eine Übersicht aller Emails
     
    // Ausgabe in einer Tabelle:
    
$return '<table width="100%">
                 <tr>
                   <td>#</td>
                   <td>Von</td>
                   <td>Datum / Zeit</td>
                   <td>Betreff</td>
                 </tr>'
;
    
$size=count($mails); // Anzahl der Nachrichten
    
$cmsg 0// Zur Ausgabe einer fortlaufenden Nummer
    
for($i=$size-1;$i>=0;$i--)
    { 
      
$cmsg++;
      
$value $mails[$i];
      
$return .= '<tr><td>'.$cmsg.'</td><td>'.$value->from.'</td><td>'.$value->date.'</td><td>'.$value->subject.'</td></tr>';           
    }
    
$return .= '</table>'
    
imap_close($mailbox);
    RETURN 
$return;
  }
  
  function 
show_mail($id$server$ktname$paswd)
  {
    
$mailbox imap_open("{".$server.":110/pop3}INBOX"$ktname$paswd);
    
$mail imap_body($mailbox,$idFT_UID);
    
// Holt die Email..  
    
$mail htmlentities(stripslashes($mail));
    
/* stripslashes entfernt die slashes, htmlentities wandelt alle html-zeichen in entspr. html-codes um. */
    
$return '<pre>'.$mail.'</pre>';   
    
imap_close($mailbox);  
    return 
$return;
  }
  
  if(isset(
$_GET['id']))   
    if(
is_numeric($_GET['id']))
      echo 
show_mail($_GET['id'], "Server""Kontonummer""Passwort");
    else
      echo 
'falscher Parameter';        
  else
    echo 
show_mails("Server""Kontonummer""Passwort");   
?>
supertramp ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus MySQL korrekt anzeigen sams9 PHP Tipps 2008 21 19.06.2008 20:58
Mehrere div's mit gleichen ID anzeigen / ausblenden phpbeginner HTML, Usability und Barrierefreiheit 9 06.09.2007 02:48
Baumstruktur anzeigen PHP-Fortgeschrittene 13 31.03.2006 21:37
Anzeigen wenn keine Einträge in Datenbank! c-bass PHP Tipps 2006 6 22.03.2006 13:49
Mailtext korrekt anzeigen Elmo2k PHP Tipps 2006 1 21.02.2006 10:25
php emails kommen nicht überall an Soese PHP Tipps 2006 14 15.02.2006 09:33
PHP Seiten auf der Festplatte anzeigen lassen? PHP Tipps 2006 7 25.01.2006 19:53
Bilder anzeigen und nicht anzeigen Cyrus PHP Tipps 2005-2 7 26.10.2005 20:23
eMails aus einem *.txt auslesen PHP Tipps 2005-2 5 15.08.2005 15:45
PHP Code lässt sich nicht anzeigen! Asipak PHP Tipps 2005-2 7 19.07.2005 19:16
Session-anzahl anzeigen lassen Jojo1 PHP Tipps 2005 21 30.03.2005 14:57
Bilder nach Namen anzeigen PHP Tipps 2005 11 06.03.2005 15:41
[Erledigt] Cookie - Seite anzeigen / nicht anzeigen PHP Tipps 2004-2 2 11.11.2004 15:59
[Erledigt] Doppelte Datensätze anzeigen! Datenbanken 3 25.09.2004 17:42
Alle Datenbanken und Tabellen anzeigen anzeigen imported_Lumio PHP Tipps 2004 4 13.09.2004 14:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php email anzeigen, email php anzeigen, php mail abholen, php mails abholen, php email abholen, imap_open gmx, php emails abholen, php mail anzeigen, php imap_open gmx, http://www.php.de/beitragsarchiv/16844-emails-anzeigen-mit-php.html, php mails anzeigen, mails abholen php, php imap postfach abrufen, mail abholen php, php pop3 abholen, php emails anzeigen, emails abholen php, email anzeige in php, emails mit php abholen, e-mails mit php abholen

Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.