Avatar billede jaw Nybegynder
31. marts 2005 - 12:23 Der er 6 kommentarer og
1 løsning

cgiemail uden forms

God formiddag...

Er det muligt at benytte CGIEMAIL uden først at skulle have det hele kørt igennem forms? Ville gerne lave et system der kunne foretage en kørsel ud fra data i min MySQL-database f.eks. hvert kvarter. Dertil kræves så cron-jobs, men det burde ikke være så stort problem for mig...
Avatar billede mfalck Praktikant
31. marts 2005 - 13:02 #1
er det du mener om det er muligt at lave et perl-script som trække nogle email-adresser ud af en Mysql-database og sender en mail til adresserne !?!?

i givet fald er svaret ja :-)
Avatar billede jaw Nybegynder
31. marts 2005 - 13:03 #2
Ja, det er jo så det jeg gerne vil :)

Jeg opdagede bare, at min host havde cgiemail installeret, men efter hvad jeg kan læse mig frem til er det ikke muligt at bruge det "program" til at sende andre info end der er input's i en form.

Nu roder jeg så bare rundt for at finde et alternativ, jeg med min PERL/CGI-skillz kan få til at virke...
Avatar billede mfalck Praktikant
31. marts 2005 - 13:47 #3
det kan være jeg har en skelet til sådan en `dimmer' på min server - jeg skal se efter i aften.
Avatar billede jaw Nybegynder
31. marts 2005 - 13:48 #4
Tak, det ville da være rart...
Avatar billede mfalck Praktikant
01. april 2005 - 20:21 #5
dette er sakset ud af noget jeg på et tidspunkt bryggede sammen:


#!/usr/bin/perl
use DBI;
use Net::SMTP;

  my ($email, $mailemne, $mail, $headers);
  my ($dbh, $database,$databaseuser,$databasepassword);
  $database="host";
  $databaseuser="db";
  $databasepassword="password";
  $dbh = DBI->connect("dbi:mysql:$database","$databaseuser","$databasepassword") or die("Cannot connect:  $DBI::errstr");
my @r;
my $sql1 = "SELECT  * FROM <db>";
my $q1 = $dbh-> prepare($sql1) || print "prepare failed($DBI::errstr)\n";;
my $rv = $sth->execute;
      @r = $sth->fetchrow_array;
            $email= $r[0];
            $mailemne= $r[1];
            $mail= $r[2];
            $headers= $r[3];
            #$headers{"FROM"}= "$afsendnavn <$afsendemail>\n";
            #$headers{"Content-Type"} = "$mailformat\n";
            #$headers{"Content-Transfer-Encoding"} ="8bit\n";
            #$headers{"Return-Path"} = "<$r1[5]>\n";
            #$headers{"X-Priority"} = "3\n";

          mail($email, $mailemne, $mail, $headers);
        }

sub mail {
  local($email, $subject, $mail, %headers) = @_;
          $smtp = Net::SMTP->new('localhost');
          $smtp->mail();
          $smtp->to($email);
          $smtp->data();
          $smtp->datasend("Subject:$subject\n");
          $smtp->datasend("\n");
          $smtp->datasend($mail);
          $smtp->dataend();
        $smtp->quit;
}
Avatar billede jaw Nybegynder
04. april 2005 - 17:11 #6
Det ser rigtigt ud, og virker måske. Den cgi-cron min host har er vist ikke så stabil som jeg gik og troede. Men jeg vil kigge på det engang jeg får rigtig god tid til det...

Tak for hjælpen, og læg da et svar, du skal ha' points :)
Avatar billede mfalck Praktikant
04. april 2005 - 20:05 #7
ok - ellers må du spørge videre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester