Dateianhang von Server automatisch Senden
Manuel Burghammer
- cgi
ich will mit ner mailingliste automatisch regelmässig mails versenden....das klappt auch schon...
aber mit welchen befehl hänge ich per "sendmail" ein attachment an die mail an...entweder einen ordner der auf dem server liegt oder einzelne files......das wär egal
danke schonmal für die hilfe
aber mit welchen befehl hänge ich per "sendmail" ein attachment an die mail an...
Das hängt offenbar von dem sendmail-Kommando auf Deiner Server-Plattform ab. Hast Du dessen manpage mal gelesen?
entweder einen ordner der auf dem server liegt oder einzelne files......das wär egal
In beiden Fällen würde ich schon aus Gründen der Begrenzung des Datenvolumens versuchen, die Dateien zu einem Archiv zusammenzupacken (je nach Plattform tar & compress oder Zip).
Das führt Dein Problem dann ganz nebenbei auf ein bereits gelöstes Problem zurück ...
Mit CGI hat die Frage bisher wenig zu tun ...
Mit CGI hat die Frage bisher wenig zu tun ...
sorry...ich hab mich wohl falsch ausgedrückt......
ich rufe per CGI-script "bin/senmail -t" auf
ich übergebe per
open (MAIL, "$mailprog") die "Kann $mailprog nicht öffnen!\n";
print MAIL "From: $in{'address'}\n";
print MAIL "To: $recipient\n";
print MAIL "Subject: Subjekt\n\n";
print MAIL "Text\n";
close (MAIL);
die parameter
das funtioniert ja auch schon wunderbar........aber ich will einige HTML dateien als attachment mitsenden und wollte wissen ob das dann z.b. mit
print MAIL "File: Dateiname\n\n";
möglich ist. es ist ein unix-server, aber ich dachte es gibt hier eine platformübergreifende lösung, weil die ganze sache später auch auf einem eNTe server laufen soll
ich hoffe ich habe die sache jetzt besser erklärt
nochmal danke für eure unterstützung
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.