#!/usr/bin/perl -w use CGI ':standard'; use CGI::Carp qw(fatalsToBrowser); $mailprog = '/usr/sbin/sendmail -t'; $email = 'zzz@hotmail.com'; %mail_address = ("France" => 'xxx@hotmail.com', "Germany" => 'yyy@hotmail.com'); $mail_destination = $mail_address{$FORM{'Destination'}}; print "Content-type:text/html\n\n"; read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/~!/ ~!/g; $Form[$i] = $name; $i = $i + 1; $Form[$i] = $value; $i = $i + 1; $FORM{$name} = $value; } $email = $FORM{'email'}; $Destination = $FORM{'Destination'}; $yourname = $FORM{'yourname'}; $message = $FORM{'message'}; open (MAIL, "|$mailprog") || "Can't open $mailprog!\n"; print (MAIL "From: $email\n"); print (MAIL "To: $mail_destination\n"); for ($i=0; $i<=$#Form; $i=$i+2) { print MAIL "$Form[$i]\: $Form[$i+1]\n"; } close (MAIL);