Dirk: Net::SMTP

Hallo,
ich erstelle gerade ein HTML-Formular, das ich mithilfe eines Perl-Scriptes an eine eMail verschicken möchte.
Der Versand läuft über das Net::SMTP-Modul.

Ich habe es mit folgendem Code versucht:

code:
------------------------------------------------------------------
use Net::SMTP;

&Error("Ihre e-Mail Adresse wurde in der Config-Datei $in{config} falsch angegeben. Bitte korrigieren Sie diese.") unless ($Pref{email} =~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/);

$mailServer  = "asdf.asdf.de";
$absender    = "antragsformular.asdf@asdf.de";
$betreff     = "Formulareintrag";
$empfaenger  = "$Pref{email}";

$smtp = Net::SMTP->new($mailServer);
$smtp->mail($absender);
$smtp->to($empfaenger);
$smtp->cc($cc);

$smtp->data();
$smtp->datasend("Subject: $betreff\n");
$smtp->datasend("To: $empfaenger\n");
$smtp->datasend("\n");

foreach $key (sort keys %in)
  {
     $typ = substr($key,2);
     $value = $in{$key};
     $smtp->datasend("$typ :  $value\n");
  }

$smtp->dataend();
$smtp->quit;
------------------------------------------------------------------

Leider bekomme ich immer folgende Fehlermeldung:
Can't call method "mail" on an undefined value at "mailform.pl" line 178
Die Anweisung in der betreffenden Zeile lautet:

code:
------------------------------------------------------------------
$smtp->mail($absender);
------------------------------------------------------------------

Kann mir jemand sagen, was an meinem Code falsch ist???
Vielen Dank schonmal!

  1. Halihallo Dirk

    $smtp = Net::SMTP->new($mailServer);

    $smtp = Net::SMTP->new($mailServer) || die 'cannot connect to '.$mailServer;

    $smtp->mail($absender);
    $smtp->to($empfaenger);
    $smtp->cc($cc);

    Net::SMTP::cc gibt's nicht! - Verwende einfach auch to. Das was der Empfänger sieht, steht im Mailcontent und nur dort gibt's cc.

    Kann mir jemand sagen, was an meinem Code falsch ist???

    gar nix. Aber irgendwie kriegt er keine Verbindung zum Mailhost. Schalte auch mal Debut=1 ein!:

    $smtp = Net::SMTP->new($mail_host, Debug=>1);

    Viele Grüsse

    Philipp