Schrift
[thread]4409[/thread]

SMTP Mailversand

Leser: 2


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
SichlMichl
 2006-02-28 10:53
#37145 #37145
User since
2006-02-28
6 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich habe ein Problem mit dem Mailversand durch Perl.

Bei der ganzen Geschichte handelt es sich um ein Skript, das eine Mailbenachrichtigung sendet, wenn es aufgerufen wurde.
Die ganze Geschichte muss leider auf Windows laufen.
soweit bin ich schon:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use strict;
use warnings;
use Net::SMTP;

my $mailServer = "mailHost";
my $absender = "test_\@test.de";
my $empfaenger = "versuch\@versuch.de";
my $betreff = "Betreff";
my $nachricht = "Nachricht";

my $smtp = Net::SMTP->new('$mailhost');
$smtp->mail("$absender");
$smtp->to($empfaenger);
$smtp->data();
$smtp->datasend("From: $absender \n");
$smtp->datasend("To: $empfaenger \n");
$smtp->datasend("\n");
$smtp->datasend($nachricht);
$smtp->dataend();
$smtp->quit;

So, jetzt wirft er mit immer die folgende Fehlermeldung:

Code: (dl )
Can't call method "mail" on an undefined value at mail.pl line 12.


Weiß da jemand weiter? Ich bin grad ein bisschen am verzweifeln...

Danke schon mal im voraus...

Grüße
Michl\n\n

<!--EDIT|SichlMichl|1141118712-->
[E|B]
 2006-02-28 12:23
#37146 #37146
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Was ist $mailhost für eine Variable?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
SichlMichl
 2006-02-28 12:29
#37147 #37147
User since
2006-02-28
6 Artikel
BenutzerIn
[default_avatar]
Es ist ein Synonym für z.B. smtp.web.de
[E|B]
 2006-02-28 12:41
#37148 #37148
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das mag sein, aber die Variable existiert gar nicht. Es sei denn du meinst $mailServer?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
SichlMichl
 2006-02-28 14:07
#37149 #37149
User since
2006-02-28
6 Artikel
BenutzerIn
[default_avatar]
Das ist aber leider nicht das Problem
nepos
 2006-02-28 14:42
#37150 #37150
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Naja, irgendwie scheint wohl der Konstruktor von Net::SMTP in deinem Fall ein undef zurueckzuliefern. Und von undef kann man dann natuerlich kein mail() aufrufen.
Warum das so ist, leider keine Ahnung.
Dubu
 2006-02-28 23:05
#37151 #37151
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich bezweifle einfach mal, dass es einen Rechner mit Namen $mailhost, also "Dollar-mailhost", gibt. Und genau der wird angesprochen.
Froschpopo
 2006-02-28 23:32
#37152 #37152
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ersetz mal new('$mailhost'); durch new($mailhost);
SichlMichl
 2006-03-01 11:11
#37153 #37153
User since
2006-02-28
6 Artikel
BenutzerIn
[default_avatar]
[quote=Froschpopo,28.02.2006, 22:32]ersetz mal new('$mailhost'); durch new($mailhost);[/quote]
Da macht er auch nichts, ausser in die Fehlermeldung zu laufen... :(
Dubu
 2006-03-01 11:58
#37154 #37154
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wenn der Code oben nur halbwegs dem Original entspricht, dann muss es weder new('$mailhost'), noch new($mailhost), noch new('$mailServer'), sondern new($mailServer) heißen.


Edit: Sch... Smileys.\n\n

<!--EDIT|Dubu|1141207158-->
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2006-02-28 10:53.