seth: confixx - viele e-mail-adressen anlegen

gudn tach!

wenn ich von hand ueber ein confixx-menue knapp 200 e-mail-adressen erstellen wollte, wuerde das wohl so ca. ne halbe stunde dauern. deshalb suche ich nach einer moeglichkeit, eine liste mit den adressen automatisch durchnudeln zu lassen. das problem ist, dass ich keinen direkten zugriff auf die confixx-datenbank bekomme, sondern wohl auf das olle menue angewiesen bin.
ok, also koennte ich mir was basteln (in perl via LWP::UserAgent oder so), was eben das, was ich von hand machen wuerde, automatisiert. allerdings wuerde ich dafuer vermutlich nicht weniger als eine halbe stunde brauchen.
deswegen frage ich vorher mal hier nach, ob irgendjemand sowas schon mal gebastelt oder eine bessere idee hat.

prost
seth

  1. gudn tach!

    ok, also koennte ich mir was basteln (in perl via LWP::UserAgent oder so), was eben das, was ich von hand machen wuerde, automatisiert. allerdings wuerde ich dafuer vermutlich nicht weniger als eine halbe stunde brauchen.

    richtig. es hat laenger als 30 min. gedauert; war aber trotzdem eigentlich gar nicht schwer. zumindest hat alles geklappt. ob der code so allerdings sauber ist, oder ob ich eigentlich was falsch gemacht habe, weiss ich nicht und frage deswegen euch.

      
    #!/usr/bin/perl -w  
    use HTTP::Cookies;  
    use LWP;  
    use strict;  
      
    my $browser      = LWP::UserAgent->new;  
    my $cookie_jar   = HTTP::Cookies->new;  
    my $confixx_user = 'webxy';  
    my $confixx_pw   = 'god';  
    my $confixx_url  = 'http://confixxpath.example.org';  
    my $email_domain = 'irgendwas.example.org';  
    my $email_pop3   = 'postfachname';  
    my @e_mail_address_prefixes = (  
    'webmaster',  
    'postmaster',  
    'prostmaster'  
    );  
      
    # einloggen  
    my $url = $confixx_url.'/login.php';  
    my $response = $browser->post($url, [  
     'username' => $confixx_user,  
     'password' => $confixx_pw  
    ]);  
    $cookie_jar->extract_cookies($response);  
      
    # e-mail-adresse anlegen  
    $url = $confixx_url.'/user/'.$confixx_user.'/email_email_anlegen.php';  
    $browser->cookie_jar($cookie_jar);  
    for(@e_mail_address_prefixes){  
     $response = $browser->post($url, [  
      'prefix'   => $_,  
      'domain'   => $email_domain,  
      'type'     => '1',  
      'pop3'     => $email_pop3,  
      'forward'  => '',  
      'cur_page' => 'email_email.php',  
      'action'   => 'new'  
     ]);  
     die "$url error: ", $response->status_line unless $response->is_success;  
    }  
      
    #ausloggen  
    $url = $confixx_url.'/logout.php';  
    $response = $browser->get($url, 'user' => $confixx_user);
    

    prost
    seth

    1. Hey,

      ob ich eigentlich was falsch gemacht habe, weiss ich nicht

      du hättest es einfacher haben können mit WWW::Mechanize, da ist die Cookiebehandlung automatisch.

      --
      水-金-地-火-木-土-天-海-冥
      1. gudn tach!

        du hättest es einfacher haben können mit WWW::Mechanize, da ist die Cookiebehandlung automatisch.

        ah, guter tipp, thx!

        und wenn du sonst nichts auszusetzen hast, scheint mein code ja gar nicht so schlecht gewesen zu sein. :-)

        prost
        seth

        1. Ich grüsse den Cosmos,

          und wenn du sonst nichts auszusetzen hast, scheint mein code ja gar nicht so schlecht gewesen zu sein. :-)

          Du hättest es noch sehr viel einfacher haben können.
          Du brauchst ja nur die Mailadressen direkt in die Datenbank zu schreiben und dann den Flag zu setzen, das es neue Mailadressen gibt.
          Damit sparst du die ganze Aktion, das sich dein Script erstmal einloggen muss.

          Möge das "Self" mit euch sein

          --
          Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
          ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
          1. Ich grüsse den Cosmos,

            Hab grad beim Nachlesen gesehen, das du keinen Zugriff auf die Confixxdatenbank hast. Dann ignorier bitrte mein Posting ;)

            Möge das "Self" mit euch sein

            --
            Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
            ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)