Script: eMail automatisch verifizieren

April 19, 2008 · Filed Under Gemischtes · Comment 

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.

  1.  
  2. <?php
  3.  
  4. require_once ‘Net/POP3.php’;
  5. //anpassen!
  6. $emailserver = "pop.meinmailserver.de";
  7. $emailuser = "meinuser";
  8. $emailpw = "meinpasswort";
  9.  
  10. $pop3 = new Net_POP3();
  11. $erg=$pop3->connect($emailserver, 110);
  12. if (PEAR::isError($erg))
  13. {
  14.    echo $erg->getMessage();
  15. }
  16.  
  17. $erg=$pop3->login($emailuser, $emailpw);
  18. if (PEAR::isError($erg))
  19. {
  20.         //falls was nicht mit der eMail Verbindung funktioniert
  21.    echo $erg->getMessage();
  22. }
  23.  
  24.  
  25. //diese funktion verifiziert die eMail
  26. function activateparsebody($b){
  27.         foreach($b as $l){
  28.                 //hier wird jede einzelne Zeile auf den relevanten Link geprüft, hier WordPress wp-activate
  29.                 if(stristr($l,‘wp-activate’)){
  30.                         $x = split(" ",$l);
  31.                         foreach($x as $z){
  32.                                 if(stristr($z,‘wp-activate’)) $url =  $z;
  33.                         }
  34.                 }
  35.         }
  36.         //irgendwo übernommen, vermutlich php.net
  37.         $user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
  38.         $ch = curl_init();    // initialize curl handle
  39.         curl_setopt($ch, CURLOPT_URL, $url); // set url to post to
  40.         curl_setopt($ch, CURLOPT_FAILONERROR, 1);              // Fail on errors
  41.         curl_setopt($ch, CURLINFO_HEADER_OUT, true);
  42.         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
  43.         curl_setopt($ch, CURLOPT_PORT, 80);            //Set the port number
  44.         curl_setopt($ch, CURLOPT_TIMEOUT, 15); // times out after 15s
  45.         curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
  46.  
  47.         $document = curl_exec($ch);
  48.         $info = curl_getinfo($ch);
  49.         curl_close($ch);
  50.         if( $info[‘http_code’] == 200 ) {
  51.                 echo "blog aktiviert: $url";
  52.                 return true;
  53.         }
  54.         return false;
  55. }
  56.  
  57. $anzahl=$pop3->numMsg();
  58. for($i = 1;$i <= $anzahl; $i++){
  59.         $headers = $pop3->getParsedHeaders($i);
  60.         $subject = $headers[‘Subject’];
  61.         $body = split("\r\n",$pop3->getBody($i));
  62.         if( activateparsebody($body)) {
  63.                         //wenn ein aktivierungslink enthalten und positiv geöffnet, dann löschen
  64.                         $pop3->deleteMsg($i);
  65.         }
  66. }
  67. $pop3->disconnect();
  68. ?>

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.

Download

Lobeshymnen und Schmachrufe bitte in die Comments.

Gerade per Spam erhalten…

Januar 5, 2006 · Filed Under Gemischtes · Comment 

Geehrte Damen und Herren,

wir erlauben uns Datenbanken mit E-mail-Adressen deutscher sowie österreichischer
Firmen Ihnen anzubieten. Datebanken sind für den Massenversand von
E-mail-Werbeangeboten gedacht und vorbereitet . Bei der Verwendung von angebotenen
E-mail-Adressen können Sie erfolgreich für Ihre Produkte sowie Dienstleistungen werben, neuen Kundenkreis gewinnen sowie Handelskontakte erweitern. Angebotene Datenbanken
beinhalten Hunderttausende von E-mail-Adressen. Den Versand Ihrer Angeboten
unterstützt eine sehr einfach bedientbare Software, die den ausgewählten
Adressenkatalogen GRATIS zugegeben wird.

Nehmen Sie, bitte, in Anspruch auch das unsere attraktive Preisangebot, speziell für
unsere potentiellen Klienten vorbereitet! Ausführliche Informationen finden Sie an
unseren Webseiten http://www.et-de.co.uk oder http://www.et-de.info wo Sie auch eine Bestellung einlegen können.

Mit herzlichen Grüssen und Erfolgswünschen im Neuen Jahr 2006 verbleibt

Ihr EuroTransfer-Team

http://www.et-de.co.uk

oder

http://www.et-de.info

Falls Sie kein Interesse an Produkten der Firma EuroTransfer haben und
möchten keine weiteren Informationen über sie bekommen, klicken Sie nur
an den Link: http://www.eurotransfer.co.uk/unsubscribe.php – wo Sie
Ihre E-mail-Adresse aus unserer Datenbank löschen können.

Das nenne ich zielgerichtete Spam.