29.12.2009 22:40 -
Programmieren
Tags: email catch all php
Heute hat mir einSTEIN mal ein lustiges kleines Tool geschickt.
Mittels PHP und einer IMAP Weiterleitung wird eine CatchAll-Emailadresse an die entsprechenden Ordner aufgeteilt.
Ob es auch bei anderen Anbieter geht wei? ich so nicht, bei 1&1 geht?s...
Ich legte eine Emailadresse an: "*@tobi[as-rie]fer.de" (Die Eckigen Klammern sind nur Spamschutz)
Das hierhinterlegte Script sollte per cronjob einfach alle paar Minuten ausgef?hrt werden. Es nimmt alle Emails an die an "irgendwas@tob[ias-rie]fer.de" geschrieben werden. und teilt sie dann auf Ordner auf, bei diesem Beispiel wird extra ein Ordner im IMAP angelegt der dann "irgendwas" hei?t.
Leider geht es bei mir mit Thunderbird nicht. Da ich jeden dieser Ordner extra Abonnieren m?sste. Und das ist etwas l?stig. Wer eine bessere Idee hat dieses Problem zu l?sen kann sich gerne hiermelden.
Mit dieser Methode k?nnen auch Schreibfehler abgefangen werden. Auch kann eine Extra f?r ihren Zweck verbreitete Emailadresse auf unerw?nschtes weitergeben ?berwacht werden.
Viel Spa? damit ... Toby
//EDIT:
Hier das Script
PHP:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
<?php
/**
* @author Tobias Riefer
* @Copyright by einSTEIN
* @copyright 2009
*/
$inbox = imap_open("{imap.1und1.de:143}", "*@irgendwas.de", "Passwort");
$total = imap_num_msg($inbox)+1;
for($i=1; $i<$total; $i++)
{
$headers = imap_header($inbox, $i);
$structure = imap_fetchstructure($inbox, $i);
$toaddy = htmlspecialchars($headers->toaddress) ;
echo $toaddy . "<br>";
$suchbegriff = "@";
preg_match('/([a-zA-Z0-9._-]+)('.$suchbegriff.')([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z])/', $toaddy, $match);
$explode = explode("@", $match[0]);
echo $explode[0] . "<br><br>";
imap_createmailbox($inbox, imap_utf7_encode("{imap.1und1.de:143}"
. $explode[0] ));
imap_mail_move($inbox,$i, $explode[0]);
imap_expunge($inbox);
}
imap_close($inbox);
?>

hinterlegte Script sollte per cronjob einfach alle paar Minuten ausgef?hrt werden. Es nimmt alle Emails an die an "irgendwas@tob[ias-rie]fer.de" geschrieben werden. und teilt sie dann auf Ordner auf, bei diesem Beispiel wird extra ein Ordner im IMAP angelegt der dann "irgendwas" hei?t.
