Mail verschicken aus Perl-Skript
Hallo zusammen, ich versuche gerade, aus einem Perl-Skript heraus eine Mail zu verschicken. Das mache ich mit folgenden Zeilen: my $msg = Mail::Send->new () or die "Unable to create new Mail::Send object"; $msg->set ('From', $sender); $msg->set ('Content-Type', 'text/html'); $msg->to ($email); $msg->subject ($subject); my $mail = $msg->open ('sendmail'); print $mail $body; $mail->close(); Das funktioniert ganz gut, wenn ich mir eine Mail an meinen Strato-Mail-Account schicke. Schicke ich die Mail aber an meinen T-Online-Account, sehe ich in /var/log/mail, dass Postfix die Mail nicht verschicken kann (Name service error for t-online.de: Host not found, try again). Mache ich hier irgendwas falsch oder ist das ein "Feature" von T-Online? Vielen Dank, Ralf.
Am Freitag, 2. Juli 2004 19:28 schrieb Ralf Schneider:
Das funktioniert ganz gut, wenn ich mir eine Mail an meinen Strato-Mail-Account schicke. Schicke ich die Mail aber an meinen T-Online-Account, sehe ich in /var/log/mail, dass Postfix die Mail nicht verschicken kann (Name service error for t-online.de: Host not found, try again).
Mache ich hier irgendwas falsch oder ist das ein "Feature" von T-Online?
Dürfte wohl an Deiner Postfix-Konfiguration liegen. Aber ohne Infos dazu kann man wohl kaum was sagen. -- Andreas
Hallo Ralf, warum öffnest du nicht einfach das sendmail auf diese weise: $mailprog="/usr/sbin/sendmail"; # etc... open (MAIL, "|$mailprog -t"); print MAIL "To: $an[2] ($an[1])\n"; print MAIL "From: $from_mail ($from_name)\n"; print MAIL "Subject: betreff...\n"; print MAIL "Content-Type: text/html\n\n"; print MAIL "inhalt....\n\n"; close(MAIL); aber da fällt mir gerade was ein... Ich hab auch schon öfter versucht, über meinen lokalen smtp server (kerio, windows) mails an t-online zu versenden, die dann immer nicht angekommen sind. hast du ne feste ip, oder nur dial up (mit .dyndns.org?) Viel Erfolg Florian -----Ursprüngliche Nachricht----- Von: Ralf Schneider [mailto:ralf@tapfere-schneiderleins.de] Gesendet: Freitag, 2. Juli 2004 19:29 An: suse-programming@suse.com Betreff: Mail verschicken aus Perl-Skript Hallo zusammen, ich versuche gerade, aus einem Perl-Skript heraus eine Mail zu verschicken. Das mache ich mit folgenden Zeilen: my $msg = Mail::Send->new () or die "Unable to create new Mail::Send object"; $msg->set ('From', $sender); $msg->set ('Content-Type', 'text/html'); $msg->to ($email); $msg->subject ($subject); my $mail = $msg->open ('sendmail'); print $mail $body; $mail->close(); Das funktioniert ganz gut, wenn ich mir eine Mail an meinen Strato-Mail-Account schicke. Schicke ich die Mail aber an meinen T-Online-Account, sehe ich in /var/log/mail, dass Postfix die Mail nicht verschicken kann (Name service error for t-online.de: Host not found, try again). Mache ich hier irgendwas falsch oder ist das ein "Feature" von T-Online? Vielen Dank, Ralf. -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Am Freitag, 2. Juli 2004 19:44 schrieb Ralf Schneider:
Dürfte wohl an Deiner Postfix-Konfiguration liegen. Aber ohne Infos dazu kann man wohl kaum was sagen.
Was an Infos brauchst Du denn, um mir weiter helfen zu können?
Mal die Zeilen zu der Mail aus dem Log. Vom Eingang bis zum Fehler. Häufige Fehler bei der Postfix-Konfiguration, wenn was mit der DNS-Auflösung nicht funktioniert sind fehlende oder falsche Dateien im chroot. Checke mal ob im /var/spool/postfix/etc die passenden Dateien zur Namensauflösung (z.B. resolv.conf) vorhanden sind. Oder schalte das chroot ab in der master.cf ein "n" in die mittlere Spalte beim smtp bzw. relay. -- Andreas
Am Freitag, 2. Juli 2004 19:41 schrieb Florian Schödel:
Hallo Ralf,
warum öffnest du nicht einfach das sendmail auf diese weise:
Ich habe das mal irgendwo in einem Beispiel gesehen und da es funktionierte, habe ich das so übernommen.
aber da fällt mir gerade was ein... Ich hab auch schon öfter versucht, über meinen lokalen smtp server (kerio, windows) mails an t-online zu versenden, die dann immer nicht angekommen sind.
hast du ne feste ip, oder nur dial up (mit .dyndns.org?)
DSL mit dynamischer IP-Adresse. Ralf.
Hi Ralf! Ralf Schneider schrieb am 02.07.2004 19:28 :
ich versuche gerade, aus einem Perl-Skript heraus eine Mail zu verschicken. [...] Das funktioniert ganz gut, wenn ich mir eine Mail an meinen Strato-Mail-Account schicke. Schicke ich die Mail aber an meinen T-Online-Account, sehe ich in /var/log/mail, dass Postfix die Mail nicht verschicken kann (Name service error for t-online.de: Host not found, try again).
Mache ich hier irgendwas falsch oder ist das ein "Feature" von T-Online?
Ich glaube, das ist ein Feature von T-Online um Spammer zu behindern. AFAIR nimmt deren Mailserver nur Mails von Mailservern entgegen, die sich mittels Reverse-DNS-Lookup auflösen lassen - was bei deinem DynDNS-Namen wohl kaum möglich sein dürfte. Ich gebe hier nur vage Erinnerungen wieder. Ich hatte etwas in der Art vor kurzem gelesen, als ich gerade meinen Mailserver aufsetzte. Da ich aber ohnehin kein T-Onliner bin, wurde dieses Thema ganz weit hinten in meinem Gedächtnis geparkt ;-) Gruß, Michael
Am Sa, den 03.07.2004 um 2:24 Uhr +0200 schrieb Michael Wenger:
Ralf Schneider schrieb am 02.07.2004 19:28 :
Mache ich hier irgendwas falsch oder ist das ein "Feature" von T-Online?
Ich glaube, das ist ein Feature von T-Online um Spammer zu behindern.
Bis hierhin stimmts.
AFAIR nimmt deren Mailserver nur Mails von Mailservern entgegen, die sich mittels Reverse-DNS-Lookup auflösen lassen - was bei deinem DynDNS-Namen wohl kaum möglich sein dürfte.
...aber das ist nicht richtig. Die meisten Mailserver nehmen Mail nur von Domains an, die sie revers auflösen können - das geht aber mit dyndns hervorragend und ist nicht die Ursache (DynDNS bietet sogar einen kostenlosen MX an, den man aber eigentlich nicht braucht, denn bei fehlendem MX wird die "normale" Auflösung verwendet). Die Blockierung erfolgt, weil T-Online (Und andere, z.B. AOL) in einer sogenannten "DUL"-Liste nachschauen, in der die dynamischen IP-Bereiche der großen Provider verzeichnet sind. Aus dieser Liste entnimmt der Server die Info, daß Ralf eine dynamische Einwahl-IP hat und lehnt ihn als Einlieferer ab. Kann man drüber streiten - ich persönlich finde es gut. Wer das machen will, soll den Smarthost benutzen, dann geht das (Bei T-Online leider kostenpflichtig). Alles andere ist sowieso Spam. Ich habe das bei mir auf den Mailserver meines Content-Providers umgestellt, als T-Online Kohle dafür wollte, mutwillig deaktivierte SMTP-Feature wieder zu aktivieren. Bei denen piept's. Gruß, Ratti -- -o) fontlinge | Fontmanagement for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/
Hallo,
* Jörg Roßdeutscher
Ich habe das bei mir auf den Mailserver meines Content-Providers umgestellt, als T-Online Kohle dafür wollte, mutwillig deaktivierte SMTP-Feature wieder zu aktivieren. Bei denen piept's.
Gibt's auch kostenlos bei Arcor. Einfach registrieren und postman.arcor.de nutzen, per SMTP-Auth authentifizieren und fertig. Aber auch ich verwende mittlerweile den SMTP meines Webhosters (Variomedia). Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Computer der Zukunft werden nicht mehr als 1,5 Tonnen wiegen. -- Die Zeitschrift »Populäre Mechanik« (1949)
participants (6)
-
Andreas Winkelmann
-
Bernhard Walle
-
Florian Schödel
-
Joerg Rossdeutscher
-
Michael Wenger
-
Ralf Schneider