http://www.perlmonks.org?node_id=150799


in reply to Re: CGI::Upload - CGI class for handling browser file uploads
in thread CGI::Upload - CGI class for handling browser file uploads

The following is a quick modification of an older script which I've now rewritten to use the CGI::Upload module - This little script will accept uploaded files of a specified mime type, in this example image/gif, and send them through to the email address specified.

#!/usr/bin/perl -Tw use EMAIL => 'user@yourdomain.com'; use SERVER => 'mail.yourdomain.com'; use CGI; use CGI::Upload; use Mail::Mailer; use Net::SMTP; use strict; my $cgi = CGI->new; my $upload = CGI::Upload->new( $cgi ); if ( $upload->mime_type('upload') eq 'image/gif' ) { my $mail = Mail::Mailer->new( 'smtp', Server => SERVER ); $mail->open({ 'To' => EMAIL, 'From' => 'root@yourdomain.com' }); my $buffer; my @results; my $fh = $upload->file_handle('upload'); while (read($fh, $buffer, 45)) { push (@results, pack("u", $buffer)); } $fh->close; print $mail join "", "begin 600 " . $upload->file_name('upload') . "\n", @results, "end\n\n"; $mail->close; } print STDOUT $cgi->redirect( $ENV{'HTTP_REFERER'} ); exit 0;

 

perl -e 's&&rob@cowsnet.com.au&&&split/[@.]/&&s&.com.&_&&&print'