Fehlermeldung mit der Methode "mail"
safir
- perl
Hallo leute,
ich versuche seit einiger Zeit einen Mail-Versand zu realisieren
mittels des Moduls "Net::SMTP". Ich erhalte aber folgende
Fehlermeldung im Browser, die ich nicht so ganz verstehe!!!
-----
Can't call method "mail" on an undefined value at C:/Programme/Apache Group/Apache2/cgi-bin/xy.cgi line 25.
-----
meine CGI sieht folgende massen so aus:
-----
#!c:/Perl/bin/Perl.exe
use CGI ':standard';
use Net::SMTP;
use strict;
use CGI::Carp qw(fatalsToBrowser);
my $mailFrom = 'xy1@xxx.com';
my $subj = 'Testmail';
my $text = 'Testemail von mir selber';
my $mailServer = 'xx.xxxx.xxx';
my $smtp = Net::SMTP->new($mailServer);
my $mailTo = 'xy2@xxx.ch';
my $message = <<"MSGTEXT";
From: $mailFrom
To: $mailTo
Subject: $subj
Message:
$text
MSGTEXT
$smtp->mail($mailFrom);
$smtp->to($mailTo);
$smtp->data($message);
$smtp->quit;
print "Content-Type: text/html\n\n";
print "Erfolgreich versendet";
-----
Ich bitte um hilfe. Ich danke euch im Voraus
Gruss
safir
Hi,
my $smtp = Net::SMTP->new($mailServer);
Ist dieser Aufruf gutgegangen?
Du machst hier keinerlei Fehlerprüfung...
cu,
Andreas
Hi Andreas,
ich habe mein code jetzt etwas umgeschrieben:
----
my $smtp = Net::SMTP->new($mailServer) or die("Fehler: $!");
----
und erhalte jetzt dieser Fehlermeldung:
----
Fehler: Bad file descriptor at C:/Programme/Apache Group/Apache2/cgi-bin/xxx.cgi line 12.
----
was soll jetzt dieser Fehlermeldung heissen. Ich habe ja kurz im internet nachgeschaut, aber habe nichts gescheites gefunden zu dieser Meldung.
Ich danke dir fuer die Hilfe
Gruss
safir
hi,
ich versuche seit einiger Zeit einen Mail-Versand zu realisieren
mittels des Moduls "Net::SMTP". Ich erhalte aber folgende
Fehlermeldung im Browser, die ich nicht so ganz verstehe!!!Can't call method "mail" on an undefined value at C:/Programme/Apache Group/Apache2/cgi-bin/xy.cgi line 25.
meine CGI sieht folgende massen so aus:
#!c:/Perl/bin/Perl.exe
use CGI ':standard';
use Net::SMTP;
use strict;
use CGI::Carp qw(fatalsToBrowser);my $mailFrom = 'xy1@xxx.com';
my $subj = 'Testmail';
my $text = 'Testemail von mir selber';my $mailServer = 'xx.xxxx.xxx';
my $smtp = Net::SMTP->new($mailServer);
my $mailTo = 'xy2@xxx.ch';my $message = <<"MSGTEXT";
From: $mailFrom
To: $mailTo
Subject: $subjMessage:
$text
Hier muss eine Leerzeile rein !!!!
MSGTEXT
$smtp->mail($mailFrom);
$smtp->to($mailTo);
$smtp->data($message);
$smtp->quit;print "Content-Type: text/html\n\n";
Ähmm, Content-type ...
Erwin
Hi Erwin,
Ich erhalte immernoch diese Fehlermeldung:
----
Fehler: Bad file descriptor at C:/Programme/Apache Group/Apache2/cgi-bin/sol/mail.cgi line 12.
----
Mit dieser Fehlermeldung kann ich leider nicht viel anfangen. Ich habe nach "Bad file descriptor" im Web gesucht, habe leider keine gescheite erklaerung dafuer gefunden. kommischer Weise das Script bei mir zu Hause laeuft problemlos, nur in der Firma nicht.
Ich danke jedem fuer einen Hinweis
Gruss
safir
hi,
Ich erhalte immernoch diese Fehlermeldung:
Fehler: Bad file descriptor at C:/Programme/Apache Group/Apache2/cgi-bin/sol/mail.cgi line 12.
Na, nun spann mich nicht länger auf die Folter und poste mal line 12
Erwin
Hi Erwin,
Mein Code sieht folgende Massen aus:
----
#!c:/Perl/bin/perl.exe
use CGI ':standard';
use Net::SMTP;
use strict;
use CGI::Carp qw(fatalsToBrowser);
my $mailFrom = 'xy1@xxx.com';
my $subj = 'Testmail';
my $text = 'Testemail von mir selber';
my $mailServer = 'mail.xxx.ch';
my $smtp = Net::SMTP->new($mailServer) or die("Fehler: $!");
my $mailTo = 'xy2@xxx.ch';
my $message = <<"MSGTEXT";
From: $mailFrom
To: $mailTo
Subject: $subj
Message:
--------
$text
MSGTEXT
$smtp->mail($mailFrom);
$smtp->to($mailTo);
$smtp->data($message);
$smtp->quit;
print header();
print "ENDE";
----
und Zeile 12 ist:
----
my $smtp = Net::SMTP->new($mailServer) or die("Fehler: $!");
----
Ich danke dir fuers Geduld :)
gruss
safir