alligator: Net::Smtp

hi zusammen,

kann mir vielleicht jmd. helfen warum keine Mails ankommen mit Net::Smtp. Hier mein Script:

#!/usr/bin/perl -w
use Net::SMTP; # Einbinden des NET:SMTP Moduls

$mailServer = "smtp.xxx.de"; # Name des SMTP Servers. Angabe einer

IP Adresse ist auch möglich

$absender = "absender@xxx.de"; # Emailadresse des Absenders.
$betreff = "Neue Nachricht"; # Betreffszeile der Email
$empfaenger = "fake19@uni.de"; # Emailadresse des Empfängers

$smtp = Net::SMTP->new($mailServer); # Ein neues SMTP Objekt wird erzeugt.

Als Parameter wird der Name des SMTP

Servers verlangt.

$smtp->mail($absender); # Dem SMTP Server wird der Absender

mitgeteilt.

$smtp->to($empfaenger); # Dem SMTP Server wird der Empfänger

mitgeteilt.

$smtp->data(); # Dem SMTP Server wird mitgeteilt, daß

nun der Nachrichtentext folgt.

$smtp->datasend("Subject: $betreff\n"); # Betreffszeile wird zum Server

geschickt.

$smtp->datasend("To: $empfaenger\n"); # Empfänger Emailadresse wird

geschickt.

$smtp->datasend("\n"); # Leerzeile wird an Server geschickt

$smtp->datasend("TEST");

$smtp->dataend(); # Dem Server wird mitgeteilt, daß kein weiterer

Nachrichtentext folgt.

$smtp->quit; # Beenden der Verbindung mit dem Server

print "Content-type: text/html\n\n";

print '<html><head><title>Toll</title></head><body>toll</body></html>';

Wäre echt dankbar wenn mir jmd. weiterhelfen könnte, denn im Webserver sthet kein Error drin, aber die Mails kommen
nicht an ...

cu
alligator

  1. Hallo Alligator,

    kann mir vielleicht jmd. helfen warum keine Mails ankommen mit Net::Smtp. Hier mein Script:

    Ich hab das Script mal getestet mit eigenen Mailadressen, und es funktionierte einwandfrei (Daten kommen an).
    Nachdem Perl bei dir keinen Fehler meldet, muesste auch das SMTP-Modul installiert sein. Dann kann es eigentlich nur noch an fehlerhaft notierten Mailadressen oder SMTP-Serveradressen liegen, oder daran, dass der SMTP-Server den Auftrag nicht akzeptiert (mal einen anderen ausprobieren).

    viele Gruesse
      Stefan Muenz

  2. Hoi,

    #!/usr/bin/perl -w

    use strict;

    use Net::SMTP; # Einbinden des NET:SMTP Moduls

    use CGI::Carp qw/fatalsToBrowser/;

    $mailServer = "smtp.xxx.de"; # Name des SMTP Servers. Angabe einer

    stattdessen: my $mailServer = 'smtp.xxx.de';

    IP Adresse ist auch möglich

    $absender = "absender@xxx.de"; # Emailadresse des Absenders.

    stattdessen: my $absender = 'absender@xxx.de';

    $betreff = "Neue Nachricht"; # Betreffszeile der Email

    stattdessen: my $betreff = 'Neue Nachricht';

    $empfaenger = "fake19@uni.de"; # Emailadresse des Empfängers

    stattdessen: my $empfaenger = 'fake19@uni.de';

    $smtp = Net::SMTP->new($mailServer); # Ein neues SMTP Objekt wird erzeugt.

    stattdessen: my $smtp = new Net::SMTP($mailServer) or die $!;

    Was passiert bei diesen Aenderungen?

    Gruesse aus dem schoenen LH,
     c.j.k

  3. Moin!

    $smtp->mail($absender);
    $smtp->to($empfaenger);
    $smtp->data();
    $smtp->datasend("Subject: $betreff\n");
    $smtp->datasend("To: $empfaenger\n");
    $smtp->datasend("\n");
    $smtp->datasend("TEST");
    $smtp->dataend();
    $smtp->quit;

    Wie waer's, wenn Du mal die Rueckgabewerte der aufgerufenen Methoden ueberpruefst, und zwar bei JEDEM einzelnen Aufruf? Gegebenfalls das Programm dann sauber mit Fehlermeldung beenden.

    So long

    --
    Whoever cares, calocybe is now @web.de