Versenden von E-Mails aus Perl mit Sendmail

Esteba

Lt. Junior Grade
Registriert
März 2013
Beiträge
323
Hallo,

Ich möchte aus einem Perl-Skript heraus E-Mail-Benachrichtigungen versenden. Etwas Recherche bei Google hat ergeben, dass die verbreitetste Methode ist, das Unix-Tool Sendmail zu benutzen. Also habe ich das Postfix-Paket installiert und den Programmcode mehr oder weniger aus den diversen Tutorials abgeschrieben. Aber es funktioniert nicht: Ich bekomme einfach keine E-Mail. Es tritt aber auch keine Fehlermeldung auf.

Hier ist der Auszug aus dem Code:

Code:
	my $sender = "xxxxxx\@xxxxxxxxx.de";
	my $sendto = "xxxxxx\@xxxxxxxxx.de";
	my $subject = 'Notification';
	my $text = 'Test test TEST tEsT';

	print "Sending notification to $sendto...\n";
		
	my $sendmail = '/usr/sbin/sendmail -t';
	open(SENDMAIL, "|$sendmail") or die "Can not open $sendmail: $!";
# 	open (SENDMAIL,"|$sendmail -f -odq $sender") || &fehler("Can not open sendmail.");
	print SENDMAIL "To: $sendto\n";
	print SENDMAIL "Subject: $subject\n";
	print SENDMAIL "From: $sender\n";
	print SENDMAIL "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
	print SENDMAIL "Content-Transfer-Encoding: 8bit\n";
	
	print SENDMAIL $text."\n";
	close SENDMAIL;

Eigentlich ganz einfach... Verstehe nicht so recht, was dabei schieflaufen kann... Wie man sieht, habe ich zwei verschiedene Varianten ausprobiert (aus zwei verschiedenen Tutorials), habe auch mal das "-t" weggelassen sowie die Slashes bei den E-Mail-Adressen (die dürften da aber schon hingehören ;))... Irgendwelche Vermutungen?

EDIT: Okay, ich glaube ich habe die Antwort selber schon gefunden. /var/log/syslog gibt Aufschluss:
... refused to talk to me: ... Nemesis ESMTP Service not available 554-No SMTP service 554-IP address is black listed.
Sowohl web.de als auch GMX nehmen keine E-Mails von dynamischen IPs entgegen. Fragt sich, wie ich jetzt mein Programm testen soll...
 
Zuletzt bearbeitet:
Esteba schrieb:
Sowohl web.de als auch GMX nehmen keine E-Mails von dynamischen IPs entgegen. Fragt sich, wie ich jetzt mein Programm testen soll...
Virtuelle Maschinen. Bau ein kleines, abgeschottetes Netz aus minimalistischen VMs. Eine spielt den DNS, eine den empfangenden Mailserver und eine deinen Client.
 
Zurück
Oben