Epost kan sendes med med hjelp av mailto,
sammen med window.open eller location.href.
Koden kan se slik ut:
<script>
function sendEpost1()
{ window.open('mailto:post@nilsmartin.no'); }
</script>
<button onclick="sendEpost1()">Send epost 1</button>
Hvis programmet som åpner vinduet har en innebygd epost-klient vil meldingen åpnes i et nytt nettleservindu.
Hvis nettleseren ikke har eget innebygd epost,
vil epost-programmet åpnes.
Ulempen er at det blir et tomt nettleservindu igjen.
mailto
er en lenk som åpner brukerens epostprogram.
Koden kan se slik ut:
<script>
function sendEpostSkjema2()
{
let crlf ="%0D%0A";
// MIME-linjeskift (carriage return linefeed).
let nvn = EpostSkjema2.navn.value;
let kom = EpostSkjema2.kommentar.value;
let epo = EpostSkjema2.epost.value;
window.open(" ¬
mailto:post@nilsmartin.no? ¬
Subject= Kommentar" ¬
+ "&body=" + "Navn: " + nvn + crlf ¬
+ " Epost: " + epo + crlf ¬
+ " Kommentar: " + kom + crlf ¬
);
}
</script>
¬ -tegnet på slutten av linjene må slettes.
window.open-kommandoen skal være
på en linje (uten linjeskift).
<form id="EpostSkjema2" action="mailto:post@nilsmartin.no" method="post" enctype="text/plain"> <label for="navn2">Navn 2:</label> <input id="navn2" type="text" name="Navn2"><br> <label for="epost2">Epost 2:</label> <input id="epost2" type="email" name="Epost2"><br> <label for="kommentar2">Kommentar 2:</label> <input id="kommentar2" type="text" name="Kommentar2" size="40"><br> <input type="button" value="Send epost 2" onclick="javascript:sendEpostSkjema2()"> <input type="reset" value="Nullstill"> </form>
Samme ulempe som over. I mange tilfeller dannes et tomt nettleservindu.
Koden kan se slik ut:
<script>
function sendEpost3()
{ location.href = "mailto:post@nilsmartin.no"; }
</script>
<button onclick="sendEpost3()">Send epost 3</button>
Fordelen er at location.href ikke etterlater et tomt nettleservindu.
Fungerer bare dersom brukeren har et epost-program installert på sin egen maskin.
Koden kan se slik ut:
<script>
function sendEpostSkjema4()
{
let crlf ="%0D%0A";
// MIME-linjeskift (carriage return linefeed).
let nvn = EpostSkjema4.navn.value;
let kom = EpostSkjema4.kommentar.value;
let epo = EpostSkjema4.epost.value;
location.href = ¬
"mailto:post@nilsmartin.no? ¬
Subject= Kommentar" + "&body=" ¬
+ "Navn: " + nvn + crlf ¬
+ " Epost: " + epo + crlf ¬
+ " Kommentar: " + kom + crlf;
}
</script>
¬ -tegnet på slutten av linjene må slettes.
window.open-kommandoen skal være
på en linje (uten linjeskift).
<form id="EpostSkjema4" action="mailto:post@nilsmartin.no" method="post" enctype="text/plain"> <label for="navn4">Navn 4:</label> <input id="navn4" type="text" name="Navn4"><br> <label for="epost4">Epost 4:</label> <input id="epost4" type="email" name="Epost 4"><br> <label for="kommentar4">Kommentar 4:</label> <input id="kommentar4" type="text" name="Kommentar4" size="40"><br> <input type="button" value="Send epost 4" onclick="javascript:sendEpostSkjema4()"> <input type="reset" value="Nullstill"> </form>
Legg merke til bruken av label.
Legg også merke til email-typen for input-feltet, som validerer at feltet inneholder en epost-adresse ved sending.