Este guía muestra como sea posible también el envío de los datos utilizando el componente perl no obstante en ambiente Windows no haya el sendmail; para hacerlo se utiliza una librería presente en la instalación de default de ActiveState que Aruba.it ejecuta sobre propios Servidores.
Abajo el estreno de ejemplo y el enlace de descarga, contenente los dos archivos:
Ejecutada la descarga, debe abrir el código con un cualquier editor y modificar las líneas relativas a la dirección email y al mensaje de agradecimiento que se visualiza por los usuarios después del envío de los datos.
En fin posicionar el fichero invia.pl dentro del directorio cgi-bin y el file html contenente el módulo en la raíz del dominio.
A continuación el script del FormMal en perl con net::smtp:
$oggettoMail = "Invio dal dominio";
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;
$value =~ s/<!--(.|\n)*-->//g;
if ($allow != 1) {
$value =~ s/<([^>]|\n)*>//g;
}
$FORM{$name} = $value;
}
use Net::SMTP;
$smtp = Net::SMTP->new('smtp.aruba.it');
$smtp->mail('mailmittente@technet.it');
$smtp->to('miacasella@miodominio.it');
$smtp->data();
$smtp->datasend("To: linkbruttocane\@aruba.it\n");
$smtp->datasend("From: mailmittente\@technet.it\n");
$smtp->datasend("Subject: $oggettoMail\n");
$smtp->datasend("\n");
$smtp->datasend(" nome = $FORM{'nomè}\n indirizzo email = $FORM{'email'}\n proviene da = $FORM{'provenienza'}\n ha lasciato il messaggio = $FORM{'messaggio'}\n");
$smtp->dataend();
$smtp->quit;
print "Content-Type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>Messaggio inviato</TITLE><font face=verdana size=2>\n";
print "Mail spedita correttamente, ti contatteremo al più presto all'indirizzo da te indicato \n";
if ($FORM{'email'}) {
print "<b> $FORM{'email'}</b>\n";
}
print "<p><a href=\"./\">Torna </a></p>\n";
print "</font></body></html>\n";
exit; |

Si se han hecha las modificaciones correctamente en las líneas de código evidenciadas en rojo,
FormMail funcionará.