Thread Mails über Sendmail >Lokal< senden
(14 answers)
Opened by Hoamer at 2008-05-19 17:05 Hoamer+2008-05-19 15:24:55-- Wenn Du die E-Mail an Deinen lokalen MTA weiterreichst, dann ist die Adresse irgendeines SMTP-Servers nicht mehr Dein Problem, sondern das des MTAs. Das Skript muss und kann in dem Falle also keinen SMTP-Server angeben. Der Aufruf von Sendmail in Deinem Beispielskript ist durchaus korrekt. Da Sendmail die Empfängeradresse als Kommandozeilenparameter übergeben bekommt, ist auch die hier schon erwaehnte Option -t nicht nötig. Ich würde allerdings einen saubereren Programmierstil als in dem Beispielskript empfehlen. Fehlerüberprüfungen können ja nicht schaden: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #!/usr/bin/perl use 5.008; use strict; use warnings; use constant SENDMAIL => '/usr/sbin/sendmail'; my $from = 'foo@bar.example'; my $to = 'blubb@boing.example'; my $subject = 'Some subject'; my $body = "The message you want to send\n"; open my $mail, '|-', SENDMAIL, $to or die "Couldn't spawn sendmail: $!\n"; print $mail <<EOD; From: $from To: $to Subject: $subject $body EOD close $mail or die "Couldn't close pipe: $!\n"; When C++ is your hammer, every problem looks like your thumb.
|