PHP Mail IMAP .... Kopfweh

FP4Lisa

Mitglied
Hallo Leute, ich habe Kopfweh ... ich bastle an einem Mailscript und komme nicht weiter. So hole ich meine Mails aus dem Postfach ...

PHP:
 $mailbox =imap_open("{pop.gmx.net:110/pop3}INBOX","$mail_user","$mail_pass");
                        $mails = imap_fetch_overview($mailbox,"1:*", FT_UID); // Holt eine Übersicht aller Emails

                        $anz = count($mails); // Anzahl der Nachrichten

                      // Überschrift: Name des Postfachs
                             echo "<u><b>$mail_user</b></u><br><br>";

                      // Liste der Mails im Postfach
                             echo "<table><tr>";


                        for($i=$anz-1;$i>=0;$i--)
                          { // Schleife
                          $value = $mails[$i];
                          $body = imap_body($mailbox,$value->uid, FT_UID);

                             $header=imap_header($mailbox,$value->uid);
                             $from = $value->from;
                             $from=str_replace("<","",$from);
                             $from=str_replace(">","",$from);
                             $teile = explode(" ", $from);
                             $absender = array_pop($teile);

                             echo "<td></td>";
                             echo '<td style="text-align:left;" width="200px">'.$absender.'</td>';
                             echo '<td style="text-align:left;" width="400px">'.$value->subject.'</td>';
                             echo "<td></td>";//$body

                             echo '<td style="text-align:left;" width="200px">'.date('Y-m-d H-i-s',strtotime($value->date)).'</td>';

                           // HIER MUSS NOCH EINE SCHLEIFE REIN
                                               $to = $absender;
                                               $subject = "TESTMAIL";
                                               $message = "DIES IST EINE SCHWACHSINNIGE TESTMAIL LÖL";
                                               $headers = "From: $mail_user\r\n Reply-To: $mail_user\r\n";
                                              
                                               mail($to, $subject, $message, $headers);

                                     }
                             }



                             echo "</tr><tr>";
                          }


                             echo "</tr></table><br><br>";


                      imap_close($mailbox);

...das abholen geht aber super nur das versenden (hier ist noch keine Schleife drin, will ja erstmal testen das es überhaupt geht) nicht. (!) Das Script geht also hier erstmal davon aus das eine Mail im Postfach ist und würde ja normal automatisch auf diese Mail antworten (... später eben über POST für Antworten) ... aber nee nix geht. *heul* (!)Die Mail sollte quasie über das POP3 Fach wieder raus gehen. Habe hier schon das ganze :suchen:Forum und :google: hoch und runter gelesen aber ich werd nicht grün ;( Ich sitze da schon Stunden dran und sehe nicht was es ist ... wäre vielleicht von Euch jemand so net mir mal schnell auf die Sprünge zu helfen? *ganzliebschau* :confused:
 
Mein Tipp wäre erstmal, dass du erstmal schaust ob dein Script überhaupt "herausfindet" ob es eben eine besagte eMail gibt. Ist dies der Fall eben echo ...

Tja ich glaube das funtioniert ja anscheinent?
Dann:

herausfinden ob die ausgabe von "$to" möglich ist. Also eben von $absender.
Machste auch schon, wenn die so stimmt, meldest dich nochmal ^^
Danke schon mal

Hab noch vergessen ob die ausgabe von dem Absender möglich ist -.-
Hier vielleicht noch was, dass dich eventuell interessiert

Durch weitere Parameter ist es mit dieser Funktion auch möglich HTML-Mails zu versenden.

<?
$extra = "From: $sender <$sendermail>\n";
$extra .= "Content-Type: text/html\n
Content-Transfer-Encoding: 8bit\n";
mail($empfaenger, $betreff, $text, $extra);
?>

Hierbei werden die Variablen des Absenders in der Variable extra abgespeichert. Wichtig ist das \n am Ende der Variable (dadurch wird eine Zeilenumbruch erzeugt). Danach wird mit .= ein weiterer Wert an die Variable angehängt. Dieser muss genau so übernommen werden und macht aus einer Mail eine HTML-Mail.
 
Zuletzt bearbeitet:
So das habe ich dann gleich mal gemacht, die Mailaddy die unter $to .. an die also das ganze geschickt werden soll erscheint bei echo "$to"; demnach ist sie drin. Nur Post habe ich noch immer nicht. :( *schnief*

Habe das zweite auch mal noch geändert wie es eben bei dir stand, aber leider hat es nichts gebracht. Trotzdem dankefein

Wäre für weitere Ratschläge superdankbar
 
Zuletzt bearbeitet:
Mir ist da eben noch was aufgefallen ... ich verbinde ja mit imap_open(pop.gmx.net) zum Ausgang des Mailpostfaches, kann es sein das ich die verbindung schließen muss und dann erst über imap_open(mail.gmx.net) den SMTP Eingang des Postfaches öffnen muss?

Was ist eigentlich der Unterschied zwischen IMAP_MAIL() und MAIL() ? Vielleicht habe ich ja grundlegend einen Denkfehler!?

Riesengroßes DANKE allen die mir Helfen wollen
 
IMAP_MAIL()
string imap_mail ( string to, string subject, string message [, string additional_headers [, string cc [, string bcc [, string rpath]]]] )

This function is currently not available for PHP4 on WIN32.
Also für PHP4 unter Wind32 nicht möglich -.-

Für Mail() hier einer kleine Erklärung
http://de.php.net/manual/de/ref.mail.php

Werd mir dein Problem nochmal genauer anschauen, zuminest morgen ^^

Ein kleiner Tipp von mir wäre auf jedenfall noch,
dass du erstmal versuchst eine andere eMail zu senden
so zu sagen als Testmail

PHP:
<?php
$to = "your@email.de";
$subject = "testmail";
$message = "hallo hallo dies ist ein test";
$headers1 = "ich";
$headers2 = "deine@email.de";

mail($to, $subject, $message, "From: $headers1 <$headers2>");
?>

so in etwa ^^


Gruß Master
 
Zuletzt bearbeitet:
Alles klar mail() schickt es direkt über den Server (beispielsweise Hamster), kein Wunder das es nicht geht wie ich mir das denke. Problem ist aber ich brauche etwas wo es über das POP3 geschickt wird.

Es muss also über gmx abholen und auch senden und du hast gemeint imap_mail() ist nicht verfügbar ... soweit ich weiß habe ich php5 drauf, aber da muss ich nochmal suchen.

Aaaaah ich bekomme hier noch eine Krise ...

So muss der Weg meiner Mail aussehen ...

personx --> gmxpop --> mailscript
personx <-- gmxsmtp <-- mailscript

... muss wohl mal noch suchen was es da noch so gibt. *schnief* Bin über jede Anregung hoch erfreut!
 
Yo danke dir ich wünsch dir auch was *LACH* sieht ja echt gefährlich aus *GRINS* na werde mal schauen und sonst weiß ich ja wo ich meinen Kummer los werden kann ;) ... *winke*
 
Ohweh ich fürchte das OOP ist nichts für mich und auch auf php.net bin ich nicht wirklich schlau geworden was das angeht. Mein größtes Problem ist wie ich die Klassen dann am ende zusammeschustere und wo ich meine Variablen rein tun muss ... grummel, kann mir das jemand mal für dumme erklären bitte?

also ich will das:
Mails senden
Mails erstellen
auf den letzten Tip hin verwenden.

Wo muss ich denn beim Mails erstellen die Variablen reintun oder sollte ich die Variablen in einer seperaten php festlegen und dann die Klassen includen ... heul ... ich bin echt ratlos, habe mir bisher alles was html und php betrifft selbst beigebracht aber hier komm ich echt nicht weiter. Hat jemand Mitleid? Danke schonmal.
 
Zurück