Vi anbefaler at skjema beskyttes med en captcha-løsning, f.eks. hCaptcha eller reCaptcha, for å redusere spamming.
Alternativ 1: Vårt standardskjema
Dersom du ønsker et kontakt-
eller tilbakemeldingsskjema på dine websider, slik at besøkende kan sende deg tilbakemelding på epost, så kan du bruke vårt
standard CGI-script for dette.
Dette forutsetter at du har litt kunnskap om HTML-kode, og at du har kontroll på epost-adressene som brukes av skjemaet, både avsender og mottaker.
Domeneshop må dessuten være godkjent utsender av e-post for domenet i avsenderadressen (DMARC må validere når vi sender).
Lag et html-skjema (<FORM>), og sett action="https://www.domeneshop.no/cgi-bin/mailto.cgi" accept-charset="ISO-8859-1"
. Legg inn hidden-felter med verdier for "_to"
, "_from"
, "_subject"
og "_resulturl"
inne i html-skjemaet. Alle input-felter som ikke begynner med underscore, blir sendt som en del av meldingskroppen i epost-tilbakemeldingen.
Eksempel:
<form method="POST" action="https://www.domeneshop.no/cgi-bin/mailto.cgi" accept-charset="ISO-8859-1">
<input type="hidden" name="_to" value="dittnavn@dittdomene.no">
<input type="hidden" name="_from" value="feedback@dittdomene.no">
<input type="hidden" name="_subject" value="Tilbakemelding">
<input type="hidden" name="_resulturl"
value="https://www.domeneshop.no/eksempler/kvittering.html">
...
<input type="text" name="Felt1" value="Skriv inn ditt spørsmål">
<input type="checkbox" name="Felt2" value="Ja">
<input type="radio" name="Felt3" value="1">
<input type="radio" name="Felt3" value="2">
...
<input type="submit" value="Send">
</form>
Deretter logger du inn i kontrollpanelet og registrerer epost-adressene du har oppgitt i "_from"
- og "_to"
-feltene som gyldige avsendere og mottakere for tilbakemeldingsskjemaet. (Klikk på "Administrere webhotell", og deretter på "Se på/endre" til høyre for "Tilbakemeldingsskjema".)
Både avsender og mottakeradresse må være på ditt domene, og må være bekreftet i kontrollpanelet.
Dette må gjøres for webhotell som skal ha slikt skjema, uavhengig av om avsender og mottaker er godkjente og verifiserte for et annet webhotell.
Alternativ 2: Lage skjemaet selv
Dersom du har Web Standard eller større, så har du mulighet for å lage egne PHP- eller CGI-scripts. Dette er egnet kun for erfarne brukere som også kan litt programmering.
Eksempelkode i PHP følger nedenfor. Her har vi antatt at input-feltene fra HTML-skjemaet (dette lager du selv!) heter "name" (navnet på innsender), "email" (epostadressen til innsender) og "message" (meldingen innsender skrev). Scriptet tillater deg ikke å klikke på "reply"/"svar" for å sende svar på henvendelsen direkte til den påståtte avsenderen. Det er viktig at du ikke lar skjemaet fylle ut noe som har noe med avsender eller mottaker å gjøre, og at begge disse adressene er under din kontroll.
<?php
// Hent verdiene fra skjemaet
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
// Sjekk ugyldige tegn i navn og epostadresse.
// Godta visse europeiske spesialbokstaver.
// Hindre meldinger lengre enn 500 tegn.
// Dette gjør det vanskelig å spamme via tilbakemeldingsskjemaet.
if(preg_match("#^[-a-zA-Z0-9éèÉÈäöæøåÄÖÆØÅ._ ]+$#",$name) AND
preg_match("#^[-a-zA-Z0-9.@+!=()_:]+$#",$email) AND
strlen($message) < 500) {
if (mail("dittnavn@dittdomene.no", // din epostadresse
"Tilbakemelding fra hjemmesiden", // emne
"Melding fra $name <$email>:\n\n$message", // meldingsteksten
"From: Tilbakemeldingsskjema <dittnavn@dittdomene.no>" // avsender
)) {
?>
<p>Meldingen er sendt.</p>
<?php
} else {
?>
<p>Klarte ikke å sende meldingen via epost,
vennligst ta kontakt via telefon eller brev.</p>
<?php
} else {
?>
<p>Ugyldig forespørsel. Forsøket har blitt logget.
OBS: navn kan ikke inneholde andre tegn enn: <code>-a-z0-9éèäöæøå._</code>,
epostadresse kun <code>-a-zA-Z0-9.@+!=()_:</code>,
og meldingen får ikke være lengre enn 500 tegn.</p>
<p>Invalid request. The attempt has been logged.</p>
<?php
# Her kan du kode en rutine som logger forsøket på å gå rundt systemet!
}
?>