http://qs1969.pair.com?node_id=30746


in reply to Re: Attaching Files to E-mail
in thread Attaching Files to E-mail

First, be sure that you define the FORM tag in your HTML like this:
<form method=post enctype="multipart/form-data"> # multipart/form-data + is necessary for uploads ... <input type="file" name="file"> # This defines an upload field
Processing the query then should be easy with MIME:Lite:
# 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;