Script: eMail automatisch verifizieren
Wer hin und wieder mal ein paar Accounts anlegen muss, hat viel damit zu tun, seine eMails zu checken und dann den Aktivierungslink anzuklicken. Aber das muss nicht sein.
Vorrausetzungen:
Am Besten wir haben eine Catch-All Adresse für diese Spielerei eingerichtet. Catch-All bedeutet, dass alle eMails an diese Domain ( also egal welcher Empfängername ) an ein bestimmtes eMail-Postfach geleitet werden. Somit kann man für die verschiedenen Accounts auch unterschiedliche eMail Adressen benutzen, ohne sich extra Passwörter und Usernamen merken zu müssen.
Alternativ kann man natürlich die zu benutzenden eMail-Adressen an eine andere weiterleiten. Hauptsache wir sammeln alle relevanten eMails in einem Postfach.
PEAR
Ich setze für das Script eine Pear Klasse ein. Wer nicht weiß, was das ist, oder funktioniert, fragt entweder seinen Provider oder liest hier nach
Das Script:
Dieses Script funktioniert für Wordpress Blogs. Die Aktivierungsemail enthält einen Link zur wp-activate.php. Das Script lässt sich einfach auf andere Fälle anpassen. Download weiter unten.
-
-
<?php
-
-
require_once ‘Net/POP3.php’;
-
//anpassen!
-
$emailserver = "pop.meinmailserver.de";
-
$emailuser = "meinuser";
-
$emailpw = "meinpasswort";
-
-
$pop3 = new Net_POP3();
-
$erg=$pop3->connect($emailserver, 110);
-
if (PEAR::isError($erg))
-
{
-
}
-
-
$erg=$pop3->login($emailuser, $emailpw);
-
if (PEAR::isError($erg))
-
{
-
//falls was nicht mit der eMail Verbindung funktioniert
-
}
-
-
-
//diese funktion verifiziert die eMail
-
function activateparsebody($b){
-
foreach($b as $l){
-
//hier wird jede einzelne Zeile auf den relevanten Link geprüft, hier Wordpress wp-activate
-
foreach($x as $z){
-
}
-
}
-
}
-
//irgendwo übernommen, vermutlich php.net
-
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
-
$ch = curl_init(); // initialize curl handle
-
curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
-
curl_setopt($ch, CURLOPT_FAILONERROR, 1); // Fail on errors
-
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
-
curl_setopt($ch, CURLOPT_PORT, 80); //Set the port number
-
curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
-
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
-
-
$document = curl_exec($ch);
-
$info = curl_getinfo($ch);
-
curl_close($ch);
-
if( $info[‘http_code’] == 200 ) {
-
echo "blog aktiviert: $url";
-
return true;
-
}
-
return false;
-
}
-
-
$anzahl=$pop3->numMsg();
-
for($i = 1;$i <= $anzahl; $i++){
-
$headers = $pop3->getParsedHeaders($i);
-
$subject = $headers[‘Subject’];
-
if( activateparsebody($body)) {
-
//wenn ein aktivierungslink enthalten und positiv geöffnet, dann löschen
-
$pop3->deleteMsg($i);
-
}
-
}
-
$pop3->disconnect();
-
?>
Ich kann natürlich keine Garantie oder irgendeinen Support für dieses Script geben. Ich nutze es auch in etwas angepasster Form, aber man sollte die Idee dahinter erkennen.
Lobeshymnen und Schmachrufe bitte in die Comments.
passende Beiträge
Script: eMail automatisch verifizierenComments
Leave a Reply

