Leser: 24
1 2 3 4 5 6 7 8 9 10 11 12 13 14
my $mailfh; if ( open($mailfh, '| /usr/sbin/sendmail -t -oi ') ) { print $mailfh 'From: test@example.org', "\n", 'To: admin@example.org', "\n", 'Subject: ERROR in blah blah', "\n", "\n", 'Error occured in ThisOrThat', "\n", "" . localtime(time), "\n", '.'; close($mailfh) or warn ("Mail not sent by sendmail: $!"); } else { warn ("pipe to sendmail cannot be opened: $!"); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
$SIG{CHLD}='IGNORE'; #... unless(fork()) { SIG{CHILD}='DEFAULT'; close(STDIN); close(STOUT); close(STERR); open(my $mailfh, '| /usr/sbin/sendmail -t -oi ') or exit(); print $mailfh 'From: test@example.org', "\n", 'To: admin@example.org', "\n", 'Subject: ERROR in blah blah', "\n", "\n", 'Error occured in ThisOrThat', "\n", "" . localtime(time), "\n", '.'; close($mailfh); exit(); }
2010-02-07T19:20:51 GwenDragonDas wäre nicht portabel
2010-02-07T17:45:18 murphyDie von bianca vorgeschlagene Kommandozeilenoption ist eine äquivalente Schreibweise der von mir vorgeschlagenen.
2010-02-07T17:12:09 GwenDragonMeine Idee war, die Mails erstmal in ein Verzeichnis eigene Warteschlange zu speichern und dann per Cron mit einem externen Skript diese zu an sendmail versenden.
2010-02-08T14:49:25 GwenDragonGegen das Versenden per cron spricht nichts, ich würde es so machen.
Die Entscheidung ging aber an fork, weil »(…) da die Programmierer nichts weiter machen müssen«.
2010-02-10T14:54:25 GwenDragonHmm, du meinst, die Überprüfung, ob erfolgreich an sendmail weiter gereicht?
Dann ja, siehe oben, es wird ja eine Warnung ins Logfile geschrieben.
2010-02-07T17:12:09 GwenDragon[...]
Meine Idee war, die Mails erstmal in ein Verzeichnis eigene Warteschlange zu speichern und dann per Cron mit einem externen Skript diese zu an sendmail versenden.
[...]