Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mit Imap Nachrichten verschieben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Mit Imap Nachrichten verschieben

    Follgender Code schnippsel
    PHP-Code:
    $mailbox imap_open("{".$mailserver."/pop3:".$port."}INBOX",$username,$passwort);
    //.
    //.
    //.Hier zwischen werden Mail Anhänge ausgelesen, dies funktioniert
    //.anschließend soll jede Mail dessen Anhang ausgelesen und gespeichert wurde
    //.in den Ordner "Archiv" verschoben werden.
    //.
    $success imap_mail_move($mbox,$loop,"Archiv");
    //Loop ist die aktuelle Email, dessen anhang ausgelesen wurde 
    $success ist stets leer, sprich wird weder true noch false zurück gegeben.
    Ich kann den Posteingang über Outlook Web Access sehen.
    Kann es sein, dass der eigentich "Ort" wo sich die Mails befinden, gar keinen Ordner Archiv hat...oder ist etwas an meinem imap_mail_move falsch?

    Gruß
    Sebastian

  • #2
    Also sorry, Du zeigst hier zwei ganze Zeilen und selbst da fällt Dir der Fehler nicht auf? Und es sollte mich auch schwer wundern, wenn hier mit ordentlich eingestelltem Fehlermanagement kein Warning entsteht.

    Aber das ist die alte Aussage. Wer keinen Wert auf seine Grammatik und Rechtschreibung legt, wird als Programmierer die selbe schlampige Haltung an den Tag legen.

    Kommentar


    • #3
      Zitat von nikosch Beitrag anzeigen
      Also sorry, Du zeigst hier zwei ganze Zeilen und selbst da fällt Dir der Fehler nicht auf? Und es sollte mich auch schwer wundern, wenn hier mit ordentlich eingestelltem Fehlermanagement kein Warning entsteht.

      Aber das ist die alte Aussage. Wer keinen Wert auf seine Grammatik und Rechtschreibung legt, wird als Programmierer die selbe schlampige Haltung an den Tag legen.
      Sorry, hätten den Code kopieren und nicht abtippen sollen.
      in meinem Code steht natürlich:
      PHP-Code:
      $success imap_mail_move($mailbox,$loop,"Archiv"); 
      und nicht $mbox.
      Desweiteren ja ich habe LRS, was damals leider zu spät festegestellt wurde.
      Habe den Code nun erweitert und ich stelle gerne das ganze rein, wenn es hilft.
      PHP-Code:
      $mailbox imap_open("{".$mailserver."/pop3:".$port."}INBOX",$username,$passwort); 
      //Überprüfung
      if($mailbox != false)
      {
      $var_verbindung "1";
      //$ungelesene = imap_search($mailbox,'ALL');
      $AnzahlMails imap_num_msg($mailbox);

         echo 
      "Anzahl: ".$AnzahlMails."<br></br>";

         for(
      $loop 1$loop $AnzahlMails+1$loop++)
         {
            
      $struct imap_fetchstructure $mailbox$loop);
            
      $parts $struct->parts;
            if (
      strtoupper($parts[1]->disposition) == 'ATTACHMENT')
            {           
               
      $count=0;
               if(
      $parts[1]->ifparameters != FALSE)
               {
                  while (
      $parts[1+$count]->parameters[0]->value != "")
                  {
                     
      $title imap_mime_header_decode($parts[1+$count]->parameters[0]->value);
                     
      $title $title[0]->text;
                     echo (
      $count+1).". - ".$title."<br></br>";
                     
      $filedata imap_fetchbody($mailbox$loop2+$count);
                     
      $text imap_base64($filedata);
                     
      $open fopen("Anhang/".$title"w");
                     
      fwrite($open$text);
                     
      fclose($open);
                     
      $count++;
                  }
               }
               else
               {
                  echo 
      "FEHLER"."<br>";
               }         
            }
            else
            {
               echo 
      "kein Anhang"."<br>";
            }      
            
      $success imap_mail_move($mailbox,$loop,"Archiv");
            echo 
      "test: ".$success
      Also wie gesagt, das der Anhang auslesen wird funktioniert.
      Was ist mit Fehlermanagement gemeint? Sind damit wie nun dort zu sehen echos gemeint...um inhalte von Variablen zu sehen?
      Wenn ja, hab ich doch erwähnt das die Variable $success, true oder false beinhalten soll....allerdings nicht beinhaltet.
      Und warum gleich so feindseelig?

      Kommentar


      • #4
        Weil Schusseligkeitsfehler unnötig sind und durch error-reporting zu verhindern sind. Genauso unnötig wie sinnlose Folgediskussion durch gepostete falsche Beispiele statt echten Code.

        Kommentar


        • #5
          Zitat von nikosch Beitrag anzeigen
          Weil Schusseligkeitsfehler unnötig sind und durch error-reporting zu verhindern sind. Genauso unnötig wie sinnlose Folgediskussion durch gepostete falsche Beispiele statt echten Code.
          Falls die Warnings gemeint sind...diese lass ich mir stets anzeigen...aber wie schon erwähnt er zeigt gar nichts an...das einzige was mir als ausgabe erscheint ist:
          Anzahl: 2

          1. - Vorläufig.pdf

          test: kein Anhang
          test:

          Der übersicht halber hab ich noch den code so verändert:
          PHP-Code:
          echo "test: ".$success."<br>"
          somit habe ich diese Ausgabe:
          Anzahl: 2

          1. - Vorläufig.pdf

          test:
          kein Anhang
          test:

          Hinter test solle true oder false stehe, aber wie man sieht, ist dem nicht so.
          Wenn wenigstens sowas kommen würde wie:
          warning expects parameter 1 given 0 oder so...aber er gibt mir nichts.

          Achso, die Funktion error Reporting war mir nicht bekannt sorry. Aber leider versteh ich den Fehler noch nicht so ganz...aber werd mich nun erstmal damit beschäftigen.

          Kommentar


          • #6
            Leider hilft mir der Error Report nicht weiter:
            Anzahl: 2

            1. - Vorläufig.pdf

            test:
            ************************************************** ********
            Notice: Undefined property: stdClass::$disposition in C:\xampp\htdocs\Projekte\testmail.php on line 32
            kein Anhang
            test:
            ************************************************** ********
            Notice: Unknown: Copy not valid for POP3 (errflg=2) in Unknown on line 0

            Notice: Unknown: Copy not valid for POP3 (errflg=2) in Unknown on line 0

            Also die undefined property für nicht zu einem Problem...die anderen beiden "Notices" helfen mir wenig. Was für eine Copy und wieso line 0.

            Kommentar


            • #7
              ein echo gibt nie false aus. Ein var_dump schon.

              Kommentar


              • #8
                Zitat von nikosch Beitrag anzeigen
                ein echo gibt nie false aus. Ein var_dump schon.
                Danke, ich dachte var_dump gibt den inhalt eines arrays zurück und echo würde mir zumindest das Wort Array ausgeben.
                Zumindest weiß ich so schonmal das der Befehl nicht korrekt ist^^ damit lässt es sich schonmal besser arbeiten, danke.

                Kommentar


                • #9
                  Zitat von Moewe Beitrag anzeigen
                  Danke, ich dachte var_dump gibt den inhalt eines arrays zurück und echo würde mir zumindest das Wort Array ausgeben.
                  Zumindest weiß ich so schonmal das der Befehl nicht korrekt ist^^ damit lässt es sich schonmal besser arbeiten, danke.
                  Ein guter Rat: Weniger denken, mehr ausprobieren.

                  Geht mir hin und wieder genauso: "Ich dachte xy,.." *ausprobier* "jo, richtig gedacht".

                  Kommentar


                  • #10
                    Zitat von tr0y Beitrag anzeigen
                    Ein guter Rat: Weniger denken, mehr ausprobieren.

                    Geht mir hin und wieder genauso: "Ich dachte xy,.." *ausprobier* "jo, richtig gedacht".
                    Aber ich glaube von mir aus, hät ich var_dump nie ausprobiert.
                    Wenn ich aus gewohnheit nur festen Grund fürs laufen nehme, geh ich davon aus das ich nicht auf wasser laufen kann....und probier es somit auch nicht aus.^^

                    Naja den Fehler habe ich noch nicht gefunden, wird aber daran liegen, das ich Imap nicht in Gänze verstehe^^.

                    Kommentar


                    • #11
                      Kleiner Tipp: Öfter mal auf den Namen achten. Nicht umsonst heißt var_dump var dump und nicht array dump.

                      Kommentar


                      • #12
                        Zitat von nikosch Beitrag anzeigen
                        Kleiner Tipp: Öfter mal auf den Namen achten. Nicht umsonst heißt var_dump var dump und nicht array dump.
                        Also ein Array ist auch recht variabel

                        Kommentar


                        • #13
                          Eben. Ein Array ist eine Variable, aber eine Variable ist nicht zwingend ein Array.

                          Kommentar


                          • #14
                            Ich glaub wir reden an ein ander vorbei Naja, dennoch danke.
                            Hab das Problem nun anders gelöst.
                            Statt die Mail zu verschieben, lese ich den Anhang aus und bei erfolg lösche ich die Mail. Man könnte jetzt von argumentieren: Niemals löschen! Allerdings ist der Anhang entscheident und nicht die Mail.^^

                            Kommentar


                            • #15
                              Ich hab eine Frage, wie kann ich sie stellen?

                              Wie kann ich hier im Forum selber Fragen stellen? Ich find den Eingang nicht um selbst ein Thema zu schreiben... Bei den meisten sagt man mir, dass ich nicht berechtigt bin ein Thema zu eröffnen, also versuch ich es mal auf diese Weise und ich hoffe mir weißt jemand den richtigen Weg

                              Kommentar

                              Lädt...
                              X