Thread Mails über Sendmail >Lokal< senden (14 answers)
Opened by Hoamer at 2008-05-19 17:05

murphy
 2008-05-19 18:22
#109936 #109936
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Hoamer+2008-05-19 15:24:55--
Sofern ich es verstanden habe, möchte ich das über den MTA erledigen - Sendmail.

Aber bezogen auf dieses Skript...(s.o.) - Wo gebe ich dort den SMTP an, da ich ja nicht einfach irgendeine Mailadresse in "From" eintragen kann, ohn die Daten des SMTPs zu kennen...?


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.

View full thread Mails über Sendmail >Lokal< senden