SichlMichl Geschrieben 28. Februar 2006 Teilen Geschrieben 28. Februar 2006 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. Ich verwende die Perlversion 5.8.0. soweit bin ich schon: 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('$mailServer'); $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: 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mr-blister Geschrieben 28. Februar 2006 Teilen Geschrieben 28. Februar 2006 Hallo, was kommt denn raus wenn du das so benutzt: $smtp = Net::SMTP->new( Host => 'hiersolldiemailhin', Hello => 'dasbinichselber' Timeout => 30, Debug => 1, ) || die ("Mist, hat nicht geklappt!\n"); Mehr Infos unter CPAN Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 1. März 2006 Autor Teilen Geschrieben 1. März 2006 Da geht er mit immer in die Fehlermeldung rein. Schön langsam habe ich die Befürchtung, dass ich meinen Server nicht auf diese weise erreichen kann... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 1. März 2006 Teilen Geschrieben 1. März 2006 $smtp->mail("$absender"); $smtp->to($empfaenger); meine erste vermutung ist, dass auf deinem mailHost kein SMTP-dienst lauscht oder der port blockiert ist. und nimm vielleicht mal die anführungszeichen bei "$absender" weg, analog zu $empfaenger. vielleicht klappts ja dann, wenn die variable nicht in anführungszeichen steht. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mr-blister Geschrieben 1. März 2006 Teilen Geschrieben 1. März 2006 Hi, Da geht er mit immer in die Fehlermeldung rein Also kannst du keine SMTP-Verbindung aufbauen. Probiers doch erstmal auf der Konsole: andreas@duster:~> telnet mein.mailserver.de 25 Trying 129.x.x.x.... Connected to mein.mailserver.de. .... Bekommst du da eine Verbindung zu deinem Mailserver? Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 1. März 2006 Autor Teilen Geschrieben 1. März 2006 Ok, das hab ich gemach, und ich kann keine Verbindung zu meinem Server aufbauen. Verdammt... Das interessante ist, dass es mit PHP funktioniert... Naja, da kann man ja wohl nichts machen. Danke für die Hilfe... Grüße Michl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 1. März 2006 Autor Teilen Geschrieben 1. März 2006 Ok, das hab ich gemach, und ich kann keine Verbindung zu meinem Server aufbauen. Verdammt... Das interessante ist, dass es mit PHP funktioniert... Naja, da kann man ja wohl nichts machen. Danke für die Hilfe... Grüße Michl Moment, mir ist noch was eingefallen. Mit Ping ist er erreichbar, also kennen tut er den Server. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 1. März 2006 Teilen Geschrieben 1. März 2006 Es stand nie außer Frage das er den Server kennt. Aber Server erlaubt keine Verbindung von deiner Maschine (wo das Script läuft) auf seinen SMTP Serviceport (tcp/25). Solange telnet <ip> 25 nicht geht wird Mailversenden weder mit perl noch mit php gehen. PS: Lokale Virenscanner mit eMail Check Feature verhindern gelegentlich Verbindungen auf Mailserver. ggfs mal Deaktivieren und erneut mit telnet testen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 1. März 2006 Autor Teilen Geschrieben 1. März 2006 Also Telnet funktioniert nicht. Aber muss den Telnet klappen? Was ist, wenn auf dem Server der Dienst gar nicht läuft? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 1. März 2006 Teilen Geschrieben 1. März 2006 Also Telnet funktioniert nicht. Aber muss den Telnet klappen? wenn du via telnet kein connect auf den mailserver herstellen kannst, ist das nicht zwangsläufig ein zeichen, dass der mailserver nicht von woanders erreichbar ist - stichwort mailvirenscanner von DevilDawn. Was ist, wenn auf dem Server der Dienst gar nicht läuft? dann läuft garnix. ich nehme jetzt mal stark an (bzw. meine glaskugel) - dass du keinen lokalen mailserver verwendest, sondern den deines providers (oder deiner firma?). konkret: wer ist denn "mailhost" bei dir? s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 2. März 2006 Autor Teilen Geschrieben 2. März 2006 Vorausschicken muss ich evtl. noch, dass ich noch ziemlich jung bin, was die Computerbranche betrifft und daher auch noch nicht zuviel ahnung habe. Ja, ich mach des Skript in der Firma. Ich muss sagen, dass ich jetzt nicht genau weiß, was du "mailhost" meinst. Es läuft halt ein Exchangeserver. Hilft dir das weiter? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DevilDawn Geschrieben 2. März 2006 Teilen Geschrieben 2. März 2006 Um mit Perl/PHP Mails zu versenden benötigst du einen Mailserver. Das ist in dem Falle dann das Exchange. Exchange sollte auf port 25 lauschen. Dein Mailhost ist damit die IP/der DNS-Name des Exchange-Servers. telnet <IP des Exchange> 25 sollte ungefähr so aussehen: telnet exchange.firma.com 25 Trying 10.20.30.40... Connected to exchange.firma.com. Escape character is '^]'. 220 exchange.firma.com Microsoft ESMTP MAIL Service, Version: 6.0.3790.1830 ready at Thu, 2 Mar 2006 10:08:00 +0100 Wenn das funktioniert sollte die IP des Exchange auch im Script verwendet werden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SichlMichl Geschrieben 2. März 2006 Autor Teilen Geschrieben 2. März 2006 telnet <IP des Exchange> 25 Ok, das hab ich verstanden. Ausprobiert hab ich das ganze auch. Krieg aber leider diese Meldung: Es konnte keine Verbindung mit dem Host hergestellt werden, auf Port 25: Verbinden fehlgeschlagen Ich geh mal davon aus, dass mich mein Server einfach keine Verbindung aufbauen lässt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.