Jeg er blevet sat til at lave en side hvor jeg skal lave en mailformular. Desværre understøtter webhotellet ikke php eller asp som jeg normalt arbejder i. Jeg har til gengæld adgang til et perlscript som kan bruges til at sende mails. Desværre ved jeg ikke et klap om det sprog og ville derfor høre om der er nogen der kan forklare hvordan jeg sætter det op.
Jeg har fået følgende ud af udbyderens faq:
use Net::SMTP;
#disse variable er kun med for nemhedsskyld, du kan fint skrive
#informationerne direkte i funktionskaldene
$mydomain="mydomain.dk";
$myaccount="mail";
$myname="Mit fulde navn";
$myrecipientname="Modtagerens fulde navn";
$myrecipient = 'user@otherdomain.dk';
$smtp = Net::SMTP->new("mail.$mydomain",
Hello => "www.$mydomain",
Timeout => 30); # opret en forbindelse til serveren
$smtp->mail( "$myaccount\\@$mydomain" ); # hvem er afsenderen (e-mail adresse)
$smtp->to($myrecipient); # modtagerens e-mail adresse
$smtp->data(); # Start the mail
# Send header informationer.
$smtp->datasend("To: \\"$myrecipientname\\" <$myrecipient>\\n");
$smtp->datasend("From: \\"$myname\\" <$myaccount\\@$mydomain>\\n");
$smtp->datasend("\\n");#tom linie der indikerer at der ikke er flere headers
# Send body.
$smtp->datasend("Her indsættes teksten i mailen");
$smtp->datasend("mere text......");
$smtp->datasend("mvh\\n$myname");
$smtp->dataend(); # Finish sending the mail
$smtp->quit;# Close the SMTP connection
og et eksempel på brug:
$smtp = Net::SMTP->new("mail.domain.dk",
Hello => "www.domain.dk",
Timeout => 30);
$smtp->mail( "mail\\@domain.dk" ); # use the sender's address here
$smtp->to("modtager\\@andet-domain.dk");# recipient's address
$smtp->data(); # Start the mail
$smtp->datasend("From: \\"Mit navn\\" <mail\\@domain.dk>\\n");
$smtp->datasend("To: \\"modtager navn\\" <modtager\\@andet-domain.dk>\\n");
$smtp->datasend("Subject: vi takker for deres kommentar...\\n");
$smtp->datasend("\\n");
#her kommer kode der skriver body delen af mailen
$smtp->datasend("Vi takker for deres henvendelse...");
# alle linier der indeholder "print MAIL" erstattes med $smtp->datasend();
$smtp->dataend(); # slut på mailen
$smtp->quit; # mailen sendes
Men hvordan fletter jeg det sammen med min formular?