php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[PHP] Bounce


 
Anbu
12-11-2008, 15:33 
 
Hi,

gibt es eine möglichkeit mit PHP rauszufinden ob eine Email Addresse noch existiert?

Im Prinzip eine Bounce - Funktion.

Kann man da was im mail() - Header machen?

Und wenn wir grad dabei sind. Gibts Smtp,Pop3 - Funktionen???

Oder ist das mit PHP überhaupt nicht möglich?

 
Anbu
12-11-2008, 16:09 
 
Hab da gerade bei PEAR was gesehn :D


Gibts auch ne andere Lösung?

 
onemorenerd
12-11-2008, 16:56 
 
Du kannst selbst eine SMTP-Session durchführen. Wenn nach dem RCPT TO ein 550er Fehler kommt, weißt du bescheid. Möglicherweise findest du eine SMTP-Klasse, die diese Art der Adressvalidierung unterstützt.

Es ist allerdings nicht so einfach, wie man glaubt. Viele Mailer senden kein 550 als Reaktion auf RCPT TO, zum Schutz vor Spam oder weil der SMTP-Server nicht schnell genug nachsehen kann, ob ein Account existiert.
Solche Mailer nehmen erstmal alles an und generieren ggf. später eine Fehlermail an den Absender.

Warum schickst du nicht einfach eine Mail mit einem Bestätigungslink an die Adresse, wie alle anderen Websites auch?

 
Anbu
12-11-2008, 17:34 
 
Also ich bin gerade dabei ein Newslettertool zu basteln per php. Bei mehr 30000 Empfängern ist es bissle blöd mit Bestätigungslink. Und die Vorgaben sind eben mit Bounce,smtp.

 
onemorenerd
12-11-2008, 18:19 
 
Ich verstehe nicht, wie du das meinst. Es ist für jeden User nur eine Mail und ein Klick.

Double-Opt-In ist heute Standard bei Newsletter Subscribtion. Vielleicht gibt es sogar gesetzliche Vorgaben, die Newsletter gegen UBE abgrenzen. Ich kenne mich in Rechtsfragen nicht aus, aber du solltest dich mal erkundigen!
Was du machen willst, geht nämlich sehr in Richtung Spam - du sendest Mails an Accounts, hast aber keine Zustimmung des Account-Inhabers sondern lediglich technisch die Existenz des Accounts überprüft.

 
Anbu
12-11-2008, 18:48 
 
asoooooo jaja ne bestätigungsmail wird schon geben (am anfang).

Aber um gelöschte oder nicht mehr benuzte Email Adressen zu lokalisieren bräucht ich die Bounce - Funktion

 
onemorenerd
12-11-2008, 19:17 
 
Das bedeutet, die Adressen sind bereits verifiziert (gewesen), können aber inzwischen nicht mehr beschickt werden und du möchtest ein automatisiertes Austragen solcher Adressen aus deiner Abonnentenliste. Zu diesem Thema hatten wir letztens erst einen Thread *kram* http://php-resource.de/forum/showthread.php?s=&threadid=77040

 
Anbu
13-11-2008, 10:35 
 
ok irgendwie irgendwo hab ich das Prinzip verstanden :D .....

aber....wie komm ich an die Emails ran mit dem hash? Hab sowas noch nicht mal ansatzweise gemacht.

 
onemorenerd
13-11-2008, 13:57 
 
Hast du den Artikel über VERP gelesen, auch den Absatz über die Nachteile?
Kannst du deinen Mailserver überhaupt so konfigurieren, wie das für VERP nötig ist?

Kannst du für das Catch-All-Postfach einen externen Filter einrichten? Dann gib als Filter ein Script an, dass den Hash rauspopelt und in die DB deiner Applikation schreibt.
Wenn du es nicht via Filter machen kannst, dann lass Cron regelmäßig ein Script aufrufen, dass die Mails im Catch-All-Postfach abholt. PHP hat dafür dir imap_* Funktionen.

 
Anbu
13-11-2008, 14:10 
 
Original geschrieben von onemorenerd
Hast du den Artikel über VERP gelesen, auch den Absatz über die Nachteile?
Kannst du deinen Mailserver überhaupt so konfigurieren, wie das für VERP nötig ist?

Kannst du für das Catch-All-Postfach einen externen Filter einrichten?


Den Artikel hab ich gelsesen.

Bin mir aber echt nicht sicher ob 1. den mailserver so konfigurieren kann und 2. ob ich den Filter setzen.

Eigentlich könnte ich vorrausgesetzt ich bekomm das mit VERP hin. Ein Bounce@example.de Postfach anlegen. Im Newsletter reply to bounce@example.de festlegen. Und alle Emails die an diese Addresse dann gehn sind bounces. Wär doch ne Möglichkeit oder?

 
onemorenerd
13-11-2008, 14:48 
 
Genau so mache ich es auch. Ich sende von einer bestimmten Adresse (die gleiche in Envelope und From) und prüfe alle dort eingehenden Mails, ob es Bounces sind. Die Schwierigkeit dabei ist, einen Bounce als solchen zu erkennen.

Die Methode mit dem Hash finde ich sehr fragwürdig. Nicht jeder Mailserver ist in der Lage, *-bounce@ direkt an bounce@ weiterzuleiten. Man kann aber nicht für jeden Hash ein Alias anlegen, weil dann das Lookup ewig dauert. Echtes Catch-All (*@ => bounce@) möchte man auch nicht unbedingt (Spam, kein Unknown Account Fehler mehr usw.).

 
Anbu
13-11-2008, 15:06 
 
ok dankeschön dann les ich mich mal in imap und VERP ein und schau was ich am Server so drehn kann ;)

Gruß Julian

 
Anbu
27-02-2009, 14:21 
 
So VERP ist bei mir leider keine option.

Ein Catch-all Postfach hab ich. Und ich hab mir überlegt alle Emails deren Quellcode etwas davon enthalten, als Bounce zu markieren:


1. OUT OF OFFICE:

X-bounce-key: webpack.de;Empfängeremail;xxxxxxxxxxx;xxxxxxxx;


2. Hard Bounce also Email Adresse existiert nicht

X-Failed-Recipients: Empfängeremail
ODER
RCPT TO:<Empfängeremail>



Ich weiß ich deck damit bestimmt sehr wenig ab. Aber mir sind die Ideen echt ausgegangen.

Vielleicht noch jemand ne Idee aus einem Catch-All Postfach Bounce Emails rauszufiltern?


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:19 Uhr.