Ankündigung

Einklappen
Keine Ankündigung bisher.

Email-Weiterleitung

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Email-Weiterleitung

    Hi!

    Habe da mal eine Frage bezüglich Email: Ist es irgendwie möglich eine egal wie formatierte Email aus einem Email-Postfach so an eine andere Email-Adresse weiterzuleiten, dass sie dort ankommt, wie in dem Postfach, aus dem sie gesendet wurde? Ansich wäre das kein Thema, aber ich muss das mit einem PHP-Script und den IMAP-Funktionen realisieren, jedoch fehlt mir irgendwie die Funktion zum Weiterleiten und bei Emails mit Anhängen habe ich echte Probleme.

    Danke schonmal für jede Hilfe!


  • #2
    Hi,

    das sollte eigentlich relativ einfach möglich sein. Du kannst ja bei mail() einen Absender eingeben. Dieser müsste dann dem entsprechen, der die ursprüngliche Mail gesendet hat.

    IMAP bietet soviel ich weiß, keine direkte funktion zum Weiterleiten. Du müsstest einfach dir die Mail mittels IMAP-Funktionen abrufen und mit mail() verschicken. Wie du das dann am Besten mit dem Anhang machst, weiß ich nicht. Er muss wahrscheinlich mal temorär zwischengespeichert werden.

    Zum Versenden der Mails, kannst du die ja mal die entsprechenden PEAR-Klassen anschauen. Dort kannst du Anhänge leicht definieren.

    Bye,
    Dennis

    Kommentar


    • #3
      Danke schonmal für die Antwort. Anhänge sind auch nur ein Problem. HTML-Mails schonwieder ein anderes. Es werden Tonnenweise Header-Informationen mitgesendet von denen ich nicht genau weiß, welche ich selber setzen muss und welche nicht. Ich werde mal schauen, was mir die PEAR-Klasse bringt.

      Kommentar


      • #4
        Eigentlich interessiert dich gar nicht, ob das Text- oder HTML-Mails sind. Du lädst den Inhalt aus deinem Postfach und stopfst das dann in die PEAR-Klasse. So viel ich weiß, kümmert sich die darum. Außerdem ist eine HTML-Mail nicht anderes als eine Text-Mail, nur, dass die Mail aus HTML-Code (<html>...</html>) besteht.

        Die meisten Header-Infos wirst du nicht brauchen bzw. kannst sie nicht verwenden.

        Was wahrscheinlich nicht möglich seind wird:
        - Die Zeit, an der die Mail versandt wurde, kannst du nicht übernehmen.
        - Alle, die in CC oder BCC stehen, kannst du ebenfalls nicht übernehmen, es sei denn, diejenigen sollen nochmal die Mail bekommen.

        Wirklich einfach wird das ganze auf keinen Fall werden!

        Kommentar


        • #5
          Das Datum und die Felder CC und BCC interessieren mich auch nicht, es ist eine Mail mit genau einem Empfänger. Mehr nicht. Bei den HTML-Mails ist es nicht ganz so einfach, da zumeist beide Inhalte in einer Mail sind, sowohl HTML, als auch Plain/Text. Diese sind in einem bestimmten Format gekapselt, ähnlich einem Dateianhang.

          Kommentar


          • #6
            Re: Email-Weiterleitung

            Weiterleitung einer Email:
            Zitat von MrNiceGuy
            Ansich wäre das kein Thema,
            Eben.

            aber ich muss das mit einem PHP-Script und den IMAP-Funktionen realisieren,
            Mit PHP? Da kann Dich einer nicht leiden.

            jedoch fehlt mir irgendwie die Funktion zum Weiterleiten und bei Emails mit Anhängen habe ich echte Probleme.
            Du mußt die Email komplett "auspacken" und neu "einpacken". Hilfe gibt es bei PEAR:
            http://pear.php.net/manual/en/package.mail.php

            Kommentar


            • #7
              Re: Email-Weiterleitung

              Zitat von meikel
              Weiterleitung einer Email:
              Zitat von MrNiceGuy
              Ansich wäre das kein Thema,
              Eben.

              aber ich muss das mit einem PHP-Script und den IMAP-Funktionen realisieren,
              Mit PHP? Da kann Dich einer nicht leiden.

              jedoch fehlt mir irgendwie die Funktion zum Weiterleiten und bei Emails mit Anhängen habe ich echte Probleme.
              Du mußt die Email komplett "auspacken" und neu "einpacken". Hilfe gibt es bei PEAR:
              http://pear.php.net/manual/en/package.mail.php
              Ich habe befürchtet, dass jemand sowas schreibt. OK, bleibt mir wohl nichts anderes übrig, als einmal alle Daten zu extrahieren, um sie dann wieder neu zu verpacken *schnief*

              Kommentar


              • #8
                Ich hatte vor einiger Zeit das gleiche Problem, ich wollte, dass alle Mails von Mailbox a zur Emailadresse b geschickt werden und zwar ohne größere Veränderungen.

                Mit imap_fetchheader() und imap_body() habe ich die wichtigen Daten ausgelesen. Das ganze habe ich dann fsockopen() per SMTP verschickt (nach POP-Abfrage).

                Die folgenden Kommandos sind dabei wichtig:
                - MAIL FROM: enthält irgendeine Emailadresse
                - RCPT TO: dein gewünschte Weiterleitungsadresse
                - DATA: Header+Body von Mail (siehe oben)

                Die genauen Kommandos würden den Beitrag sprengen, aber ich bin sicher, irgendwo im Netz findest du nochmals die genauen Dokumentationen, wie du genau Mails versenden kannst.

                Kommentar


                • #9
                  Hallo MrNiceGuy,

                  habe gerade gegooglet und bin auf diesen thread hier gestoßen. Ich habe das gleiche Problem wie du. Muss auch eMails (HTML+Text) weiterleiten ohne dass sich groß was daran ändert. Hast du vielleicht schon eine Lösung gefunden?

                  Kommentar


                  • #10
                    Zitat von mc_pain
                    Hallo MrNiceGuy,

                    habe gerade gegooglet und bin auf diesen thread hier gestoßen. Ich habe das gleiche Problem wie du. Muss auch eMails (HTML+Text) weiterleiten ohne dass sich groß was daran ändert. Hast du vielleicht schon eine Lösung gefunden?
                    Hi!

                    Ich hatte leider noch keine Zeit mich erneut mehr damit zu befassen, aber die sinnigste Lösung scheint es mir bald zu sein, die Anhänge zu extrahieren, als temporäre Dateien auf dem Server abzulegen, die Header-Daten selbst zu filtern und eine neue Mail zu verschicken. Wenn ich eine entsprechende Lösung hab, werde ich es hier aber wohl nochmal kund tun.

                    Tut mir leid, dass ich dir da momentan auch nicht weiterhelfen kann.

                    Kommentar


                    • #11
                      Eine kleine Anmerkung am Rande...
                      Bei signierten und verschlüsselten E-Mails (also im MIME-Format) könnte es hier Probleme geben, da die Intergritätsprüfung der E-Mail im Mailclient (also alles was im Body ist) würde einen Fehler melden, da die Mail sicherlich nicht exakt so aussieht wie im Ursprung.

                      Kommentar


                      • #12
                        das problem mit dem MIME hatte ich auch schon gesehen. Könnte man aber doch evtl. mit den MIME-Klassen von PEAR lösen!?! Aber damit habe ich mich noch nie auseinandergesetzt. Keine Ahnung wie das geht. Der Body der Mail ist ja eben das größte Problem bei der Sache...

                        Kommentar


                        • #13
                          das Problem ist, dass die Informationen über die Boundaries bereits in dem Header vorhanden sind. Ich bin mir nicht 100%ig sicher, SMIME bezieht die Intergrietätsprüfung komplett auf den Body der E-Mail und nicht auf die einzelnen Boundaries. d.h. änderst du die Boundary-ID, passt die Prüfsumme nicht mehr. Der einzige weg ist tatsächlich die komplette Mail über sockets an den Mail-Server zum Weiterleiten geben...

                          Kommentar


                          • #14
                            Zitat von RealNexus
                            [...]Der einzige weg ist tatsächlich die komplette Mail über sockets an den Mail-Server zum Weiterleiten geben...
                            Sehr gut... Wie?

                            Hast du nen Mini-Beispiel oder so?

                            Kommentar


                            • #15
                              Zitat von MrNiceGuy
                              Zitat von RealNexus
                              [...]Der einzige weg ist tatsächlich die komplette Mail über sockets an den Mail-Server zum Weiterleiten geben...
                              Sehr gut... Wie?

                              Hast du nen Mini-Beispiel oder so?
                              Ja, Beispiele wären gut. Mit Sockets hab ich noch gar nix gemacht

                              Kommentar

                              Lädt...
                              X