ich rufe per CGI-script "bin/sendmail -t" auf
Aber das Problem hat nichts damit zu tun, *wer* sendmail aufruft, sondern *wie* es aufgerufen wird - deshalb (SERVER).
ich übergebe per
open (MAIL, "$mailprog") die "Kann $mailprog nicht öffnen!\n";
print MAIL "Subject: Subjekt\n\n";
...
close (MAIL);
die parameter
... aber statt alles in sendmail hineinzupipen könntest Du es wahrscheinlich auch über entsprechende Kommandozeilenparameter übergeben - und die findest Du in der man page.
Einer davon ist dann auch derjenige, mit dem Du attachments angeben kannst.
print MAIL "File: Dateiname\n\n";
möglich ist.
So wahrscheinlich nicht.
es ist ein unix-server,
Das war nach der Beschreibung Deiner Lösung, die eine Pipe verwendet, und dem Namen "sendmail" ziemlich wahrscheinlich.
aber ich dachte es gibt hier eine plattformübergreifende lösung, weil die ganze sache später auch auf einem eNTe server laufen soll
Schau Dir mal den CPAN-Modul Mail::Mailer an.
Ich kopiere mal schnell ein Beispiel hier herein (kann aber nicht konkret sagen, wo mand as attachment hineinhängen würde):
use Mail::Mailer;
$mailer = Mail::Mailer->new();
$mailer->open({ From => $from_address,
To => $to_address,
Subject => $subject,
})
or die "Can't open: $!\n";
print $mailer $body;
$mailer->close();
Es gibt auch noch andere Möglichkeiten, etwa den Modul Mail::Internet bzw. Net::SMTP ... in Perl gibt es immer mehr als einen Weg.