Wie empfange ich E-Mails und verarbeite sie in einer Webanwendung

Lesezeit: 4 Minuten

Wie empfange ich E Mails und verarbeite sie in einer Webanwendung
Niyaz

Ich habe eine E-Mail-ID für meine PHP-Webanwendung eingerichtet. Benutzer senden E-Mails an diese ID.

Ich möchte diese E-Mails in der Anwendung verarbeiten. Wie mache ich das?

Vielen Dank im Voraus.

Wie empfange ich E Mails und verarbeite sie in einer Webanwendung
Schoan

Ich habe kürzlich an einem Projekt gearbeitet, bei dem E-Mails von Google Mail analysiert und die Datenbank mit bestimmten Werten basierend auf dem Inhalt der E-Mail aktualisiert werden musste. Ich habe die verwendet ezcMail (jetzt) ​​Zeta-Komponenten Bibliothek, um sich mit dem Mailserver zu verbinden und die E-Mails zu parsen.

Meine Strategie bestand darin, alle interessanten eingehenden Mails mit dem Label „unbearbeitet“ zu filtern. Führen Sie das PHP-Skript alle 15 Minuten über eine Crontab aus. Das Skript stellt eine Verbindung zum Mailserver her, öffnet den unverarbeiteten IMAP-Ordner und parst jede E-Mail. Nach dem Einfügen der interessanten Werte in die Datenbank verschiebt das Skript die Dateien in einen anderen IMAP-Ordner „Verarbeitet“.

fand ich auch IMAP ist besser als POP für diese Art der Verarbeitung.

  • @Shoan Ich weiß, diese Antwort ist wirklich alt …. aber hättest du etwas dagegen, einen Code für mich zu posten?

    – pattyd

    26. Mai 2013 um 19:59 Uhr

  • @pattyd Leider habe ich diesen Code nicht mehr. Aber es sollte relativ einfach sein, es mit meiner Antwort in der Gliederung zu tun. Die Dokumentation für die Zeta-Komponente zeigt Ihnen, wie Sie die E-Mail lesen.

    – Schoan

    30. Mai 2013 um 16:29 Uhr

  • @pattyd So fragt man bei StackOverflow nicht nach Dingen. Die Ask Question Knopf ist…

    – Bojangles

    30. Mai 2013 um 16:29 Uhr

  • @Bojangles, ich habe gerade nachgesehen … Selbst wenn ich die mythische Schaltfläche “FRAGE FRAGEN” verwendet hätte, würden Sie sie wahrscheinlich als Duplikat markieren!

    – pattyd

    30. Mai 2013 um 21:05 Uhr

  • @pattyd Wahrscheinlich nicht, vorausgesetzt, Ihre Frage war mehr als “Posten Sie bitte einen Code” anstelle von “Hier ist mein Versuch, wo habe ich einen Fehler gemacht?”

    – Bojangles

    31. Mai 2013 um 7:11 Uhr

Wie empfange ich E Mails und verarbeite sie in einer Webanwendung
Kapitän

Kürzlich wollte ich bei etwas, das ich gerade mache, sofort E-Mails empfangen können, also habe ich ein wenig recherchiert (ich habe mir diese Frage auch hier angesehen) und fand schließlich, dass Google App Engine ziemlich hilfreich ist. Es verfügt über eine API, mit der Sie gesendete E-Mails empfangen und verarbeiten können [email protected]. Ich weiß, dass es nicht wirklich hilfreich erscheint, da Sie Ihre App wahrscheinlich nicht in App Engine haben und E-Mails unter yourdomain.tld empfangen möchten, aber mit ein wenig Einrichtung können Sie bekommen, was Sie wollen.

Meine Grundeinstellung ist so:

  • Benutzer sendet E-Mail an [email protected] (eine E-Mail-Adresse, die eigentlich nicht existiert)
  • mydomain.tld hat eine Catchall-E-Mail-Adresse, die an [email protected] weiterleitet
  • GAEapp (eine winzige App in der App-Engine) empfängt die E-Mail, verarbeitet sie und sendet eine Post-Anfrage mit relevanten Inhalten an mydomain.tld

Im Grunde können Sie also eine kleine GAE-App erstellen, die wie eine Zwischenlösung funktioniert, um die E-Mails abzurufen. Auch mit der Umleitung wird es klappen, die E-Mail wird in Ordnung sein.

Außerdem habe ich beschlossen, mir etwas Django beizubringen, und ich habe eine kostenlose App namens erstellt E-Mail-Versand das wird im Grunde das für Sie tun. Sie erstellen einen Empfänger wie [email protected] und geben Sie eine URL an POST an. Alles, was an diese Adresse gesendet wird, wird an Ihre URL gepostet. Sie können auf Ihrer Domain einen Catchall erstellen, der an diesen E-Mail-Empfänger weiterleitet, und Sie erhalten auch E-Mails über den Catchall!

oder man sieht a kleine GAE-App Ich habe gemacht, dass Sie sich selbst einrichten können, was dasselbe tut.

Hoffe das hilft jemandem!

1647256448 672 Wie empfange ich E Mails und verarbeite sie in einer Webanwendung
bmb

Verwenden Sie procmail, wenn es auf Ihrem System installiert ist. Fügen Sie diese Zeilen in eine .procmailrc-Datei im Home-Verzeichnis des Benutzers ein, der die E-Mail erhält.

:0
| /path/to/your/script.php

Oder Sie können auch eine .forward-Datei verwenden, die enthält

"|/path/to/your/script.php"

Procmail hat den Vorteil, dass es Ihnen ermöglicht, mit komplizierteren Filtern umzugehen, falls Ihre Anwendung dies jemals erfordert.

Ihre script.php-Datei liest die Kopfzeilen und den Text der E-Mail von stdin.

  • Und hier gibt es ein großartiges Tutorial, das den oben genannten Prozess beschreibt: evolt.org/incoming_mail_and_php

    – Vern Jensen

    26. November 2013 um 20:26 Uhr

Kasse fMailbox. Es erfordert keine nicht standardmäßigen Erweiterungen (wie z. B. imap) und wurde mit verschiedenen Servern, Anhängen, mehrteiligen Nachrichten, SSL und mehr getestet.

Ich empfehle die Verwendung Zend_Mail Bestandteil von Zend Framework.

1647256448 415 Wie empfange ich E Mails und verarbeite sie in einer Webanwendung
barbusin

Es gibt eine großartige Bibliothek: Versuchen Sie Folgendes: http://code.google.com/p/php-imap

Sie müssen einen E-Mail-Client in Php implementieren. Das wird wohl ein POP Klient.

Dieser Code würde den POP-Server mit Ihrer E-Mail abfragen, herunterladen und dann nach Bedarf parsen.

Eine schnelle Google-Suche nach “POP-Client-PHP” hat eine große Auswahl an verschiedenen Optionen ergeben. Es ist schwer zu sagen, ob es wirklich “The One True PHP POP Library” gibt, sonst würde ich es hier aufnehmen. Wenn Sie ein bereits vorhandenes Framework verwenden, möchten Sie vielleicht überprüfen, ob es den Grad der POP-Unterstützung anzeigt, andernfalls überprüfen Sie die Google-Ergebnisse oben und treffen Sie Ihre Wahl. Oder es ist einfach am einfachsten (und am lehrreichsten 🙂 ), deine eigenen zu rollen.

1001250cookie-checkWie empfange ich E-Mails und verarbeite sie in einer Webanwendung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy