Mailto: gebruiken in een formulier
Voor het maken van een formulier op een website wordt de tag <FORM> gebruikt. Om aan te geven wat er met de ingevulde gegevens moet worden gedaan gebruik je in die tag het attribuut: action="URL", waarbij URL staat voor een webpagina, een .ASP- of ander script, enz.
Als je bezoekers van je website de gelegenheid wilt bieden om via e-mail op je site te reageren kun je dat regelen met een formulier. In het attribuut action= geef je dan een script op dat het bericht in elkaar zet en verstuurt. De gebruiker zelf merkt daar niets van. Het script wordt op de server uitgevoerd.
Je kunt het gebruik van scripts ook vermijden door mailto: te gebruiken in plaats van action=. In
dat geval wordt het e-mail programma op de PC (vaak zal dat Outlook, Windows Mail, etc.) ingezet om de mail te
maken en te versturen.
Op deze bladzijde wordt besproken hoe dat in zijn werk gaat.
Gebruik van mailto: in een formulier is niet zonder risico's.
Op internet is er een pest die 'spam' heet. Het zijn die ongevraagde e-mail berichten met aanbiedingen voor
te goedkope software, medicijnen om af te vallen tot je zo dun bent als een stopnaald, enzovoort.
Verzenders van spam, in de wandelgangen vaak aangeduid als 'spammers' zoeken websites af naar e-mail adressen
om hun berichten naar toe te sturen. Met name mailto:-referenties zijn hier gevoelig voor, omdat ze
een geldig e-mail adres bevatten en gemakkelijk te vinden zijn. Het gebruik van mailto: wordt daarom
niet aanbevolen.
Voor hen die het desondanks tóch willen gebruiken: hier wordt beschreven hoe je het e-mail adres kunt
verstoppen in een reeks numerieke karaktercodes. Voor het maken van die reeks vind je hier ook een eenvoudige
code generator.
De JavaScript- en HTML-code van de codegenerator kun je downloaden om zelf aan door te ontwikkelen.
- Noodzakelijk is dat op de PC van de gebruiker een standaard e-mail cliënt (zoals Outlook, Windows Mail, etc.) staat ingesteld. Dat is op de meeste PC's wel het geval. Anders krijgt je bezoeker gewoon een foutmelding...
- Het hangt van de browser af hoe er op de mailto: wordt gereageerd. Bij veel browsers wordt het bericht zelf geopend, wat je dus zelf moet versturen. Bij sommige browsers verschijnt een melding dat een applicatie een bericht wil versturen; dat moet je nog eens extra bevestigen.
- Afhankelijk van de instellingen van je mail-programma wordt de mail direct verstuurd of eerst in Postvak UIT gezet. In
het laatste geval moet je zelf voor de verzending zorgen.
- Er worden twee items besproken:
- mailto: gebruiken in een formulier
- E-mail adres verstoppen
- De <form>-tag ziet er ruwweg zo uit:
<form action="...." method="POST" name="...." id="...."
EncType="text/plain" onsubmit="....">
- Gebruik van method="get" wordt voor mailberichten niet aanbevolen.
- Je kunt alle mogelijkheden van mailto: gebruiken in het attribuut action=, behalve BODY=. De inhoud van het formulier wordt nl. in de body van het bericht gezet.
- Gebruik van name="...." en/of id="...." is voor deze toepassing niet nodig.
- Gebruik van EncType="text/plain" is niet verplicht, maar wordt wel aangeraden. Als je het weglaat wordt het bericht in een bijlage gezet die de extensie .DAT krijgt. Deze file bevat geen opmaak en is daardoor moeilijk leesbaar. Als je EncType="text/plain" gebruikt wordt het bericht in de body van de mail gezet.
- Eventueel kun je, vóórdat de inhoud van het formulier wordt omgezet in een mailbericht,
nog wat controles uitvoeren. Dat doe je met een JavaScript function die je activeert met de event-handler
onSubmit="return .....". Zorg er voor dat deze function false teruggeeft als er
iets niet in orde is en true als alles OK is.
Een uitgewerkt voorbeeld vind je in het item "Geldigheid testen van formulier-velden".
- Je kunt het gedrag van mailto: in een formulier met verschillende browsers hier zelf onderzoeken.
Als je op onderstaande knop drukt verschijnt er een eenvoudig e-mail formulier dat je naar jezelf kunt laten
sturen.
Het programma vraagt eerst je e-mail adres, daarna verschijnt het formulier pas. Het is anders niet mogelijk om de <form>-tag goed in elkaar te zetten. - Zodra je op de knop "Verstuur mail" drukt, wordt je e-mail programma gestart. De inhoud van het formulier wordt in het bericht geplaatst (niet bij alle browsers).
- Merk op dat de beveiliging van je browser kan vragen of dit echt wel de bedoeling is...
- Als je het email adres wilt beschermen tegen spammers ga je op een vergelijkbare manier te werk als
bij een 'gewone' mailto:-referentie. Het komt er op neer dat je het e-mail adres vervangt door een
reeks numerieke karakterreferenties.
Zie ook het item "E-mail adres verbergen". - Het verstopte e-mail adres moet "hard" worden gecodeerd. Het is niet mogelijk dit door een JavaScript function te laten doen.
- Om het e-mail adres te coderen is een codegenerator handig. Uiteraard is er hier een beschikbaar, druk op onderstaande knop.
- De handigste aanpak is om het mailformulier op de normale wijze te coderen en daarna inhoud van action="mailto:...." te vervangen door de uitvoer van de code-generator.
- Merk op dat de volledige inhoud van het mailto:-attribuut door de codegenerator kan worden omgezet, dus óók de query achter het vraagteken (met subject=, cc=, enz.)
Gebruik:
- De code staat in de <form>-tag, in de <BODY>.
- Zie de tekst
Downloaden:
Druk op de knop:
File: voorb164.zip, 6669 bytes.
Opmerking:
De hier beschreven methode maakt het nieuwsgierige meelezers wat moeilijker om bepaalde zaken te achterhalen.
Lieden die echt verkeerd willen zijn zeker in staat om de karakterreferenties "terug te vertalen"
naar leesbare tekst en zo je 'geheimpjes' te vinden. De beste benadering is en blijft om mailto: niet te
gebruiken in een formulier.
De eenvoudigste manier om een mailformulier op je website te krijgen is met een -gratis- e-mail dienst. Dat geeft je tevens
een behoorlijke zekerheid dat het met elke willekeurige browser werkt.