Stephan Huber: Formular per eMail mit Dateianlagen versenden

Beitrag lesen

Hallo Simone,
ich habe die Methode mit mailto: gerade nochmal probiert, und es funktioniert mit
Einschränkungen wirklich: Netscape 4 sendet die Datei als Anhang, wenn auch
mit dem vollständigen Pfad als Dateinnamen. Allerdings nicht bei IE4, der macht
zwar Outlook auf und übernimmt den Nachrichtentext, aber die Datei wird nicht
gesendet :-(.
(Quellcode mit Mailto:
    <FORM ENCTYPE="multipart/form-data" ACTION="mailto:xyz@xyz.com" METHOD=POST>
    <P>Datei senden: <INPUT NAME="userfile" TYPE="file"></P>
    <INPUT TYPE="submit" VALUE="OK">
    </FORM>
)
Die bessere Lösung ist also wohl doch ein Script. userfile ist genauso wie jede andere
Formularvariable eine Umgebungsvariable, die man in PHP oder Perl ansprechen kann.
Ich hab's in PHP gemacht, und weil da die Formularvariablen automatisch
als Programmvariablen definiert werden, habe ich nur drei Zeilen Skript, die die
Datei aus dem temorären Serververzeichnis, in der sie automatisch landet, in ein
anderes Verzeichnis kopiert, und die Dateiattribute setzt:

$filename="/usr/www/users/analogon/felix/data/".$userfile_name;
copy ($userfile, $filename);
chmod ($filename, 0666);

$userfile_name ist ebenso wie $userfile eine Umgebungsvariable, die den Namen
der Datei auf dem lokalen Computer enthält. In Perl sollte es ähnlich funktionieren,
man muß sich nur dieFormularvariablen explizit holen, siehe
SELFHTML: tgcm.htm
Das ganze dann vom Server aus per Email weiterzuschicken, ist ein weiteres
Problem, siehe den Thread unten zu "Dateien mit Perl per Email verschicken."

Grüße
Stephan