De mailto: zou verboden moeten worden

Een bekend fenomeen wat nog steeds geliefd is onder veel webbeheerders is het mailto: gebruik in links en formulieren. Nog steeds komen in het Webdesign, Markup & Clientside Scripting forum op Tweakers.net er vragen over. En al die keren zie ik het artikel over de Mythical Mailto: voor me, tijd voor een vertaling naar het Nederlands met een eigen touch.

Om in contact te komen met de bezoekers op een website wordt vaak gebruik gemaakt van een formulier. In dat formulier kun je om feedback, suggesties, links, teksten, enz vragen waardoor je interactie creëert. Het verwerken van die gegeven input gaat door het versturen van dat formulier middels de GET of POST methode naar een serverside script.

Dat script kan aan de hand van de input een aantal zaken doen:

  • de input opslaan in een database
  • aan de hand van de input een op maat gemaakte pagina terug serveren
  • een mailtje naar de webbeheerder sturen met de input er bij in
  • enz

De mogelijkheden zijn oneindig, het gebeurd op bijna elke site. Neem bijvoorbeeld Google: je vult een formulier in, en aan de hand van die input geeft Google je een pagina terug met een overzicht van de 10 sites die daaraan het meest relevant zijn.

Maar nu de 3de optie eens nader bekeken: het versturen van een mail met daarin de gegeven input. Een goede webbouwer zorgt voor een server side script dat het formulier ontvangt en omzet naar een mail die vervolgens weer door de server verstuurd wordt. Een webbouwer die die mogelijkheid niet kent zal de mailto: gebruiken en zeggen "dat werkt hetzelfde".

Wat is daar dan mis mee: wat de mailto: doet is feitelijk onbekend en onberekenbaar. Het W3C heeft het niet gespecificeerd, het enige wat zij in een action attribuut van een form willen hebben is een geldige url. Dus je bent afhankelijk van de interpretatie van de geïnstalleerde software op de computer die (misschien) gekoppeld kan zijn aan het mailto: ding.

Op een pc met Outlook (Express) zal het over het algemeen wel goed gaan, maar wat als er andere steeds meer gebruikte mailclients gebruikt worden? En wat als er geen mailclient aanwezig is en de bezoeker alleen gebruikt maakt van webmail? Wat als een gebruiker op 'cancel' drukt om zijn email adres niet prijs te geven? Allemaal zaken waarop het fout kan gaan...

Om nog een stap verder te gaan: sommige enthousiastelingen plaatsen zelfs ?subject= en &body= parameters in de mailto:. Dus op dat moment moet de pc waarop de site geopend is maar net de juiste mailclient hebben die die zin kan splitsen in een email adres, een onderwerp en een body.

Samengevat: je wilt niet afhankelijk zijn van de vele beperkingen die er bij je bezoekers zijn. Je wilt het zelf in de hand houden zodat je zeker weet dat het werkt. Gebruik dus een serverside script want die zal (mits goed geprogrammeerd) geen beperkingen hebben. Gebruikers hoeven geen mailclient te hebben, en formulieren kunnen vanuit elke lokatie en vanuit elke browser verstuurd worden.

Mocht je nou niet de mogelijkheid hebben om een serverside script te installeren/gebruiken/whatever kun je altijd nog een gratis script gebruiken (Response-O-Matic en Freedback). Maar ALSJEBLIEFT, dump de mailto:

Click to activate social bookmarks