#!/usr/bin/perl -w use strict; use warnings; use CGI qw(:standard); use CGI::Carp qw/fatalsToBrowser/; use MIME::Lite; my $empfaenger = 'dubu@localhost'; my $sender = 'apache@localhost'; print header(); print start_html('Beispiel Datei empfangen und per Mail versenden'); print h1('Beispiel Datei empfangen und per Mail versenden'),    p('Bitte eine Datei auswaehlen und mit dem Abschicken-Button hochschicken'),    start_multipart_form(),    "Dateiname:",    filefield('filename','',45),    submit('Submit','Abschicken'),    endform; # Formulardaten bearbeiten, wenn vorhanden if (my $file = param('filename')) {    my $tmpfile=tmpFileName($file);    my $mimetype = uploadInfo($file)->{'Content-Type'} || '';    print hr(),          h2("Dateiname: $file"),          h4("abgelegt als: $tmpfile"),          h4("MIME Type:",em($mimetype));    ## Date als Mail versenden    # Erst der Mail-Header    my $msg = MIME::Lite->new (        From    => $sender,        To      => $empfaenger,        Subject => "Datei $file",        Type    => 'multipart/mixed',    );    # Dann der begleitende Text    $msg->attach (        Type    => 'TEXT',        Data    => "Hier die Datei, versendet durch den Webserver (PID $$)",    );    # Dann das Attachment selber    $msg->attach (        Type    => $mimetype,        Path    => $tmpfile,        Filename => $file,        Disposition => 'attachment',    );    # TEST-AUSGABE im Browser (Vorsicht bei grossen Dateien!)    # print "
\n", $msg->as_string, "\n
\n";    # Message senden (default: sendmail benutzen, siehe Doku)    if ($msg->send()) { print p(qq{Datei $file an $empfaenger verschickt.});    } else {        print p('Sorry, keine Moeglichkeit Mails zu versenden!');    } } print hr(),    end_html;