# multipart/form-data is necessary for uploads ... # This defines an upload field #### # Create new Mail object. my $mail = MIME::LITE->new( From => $from, To => $to, Subject => $subject, Type => 'multipart/mixed' ); # 'Attach' text to it. $mail->attach( TYPE => 'TEXT', DATA => $messagebody ); # If we have an attachment, attach it. if ($q->param("file")) { my $upload = $q->upload; my $fh = $upload->fh; my @data; binmode $fh; local $_ = ''; while (read($fh, $_, 1024)) { push @data, $_; } close $fh; $mail->attach( Data => \@data, Filename => $upload->filename, Type => $upload->type ); } # Finally, send the mail. open (MAIL, "| /usr/sbin/sendmail -t -i") or die $!; $mail->print(\*MAIL); close MAIL;