Permalänk

Mailto

Hej, Undrar om någon vet hur jag genom Javascript eller genom Html kan skicka information som skrivits i ett text fält till en Email adress som skrivits i ett annat text fält

Har haft problem med MAILTO: eftersom man då måste, vad jag vet, ha en förvald mottagare.

Tacksam för svar

Permalänk
Medlem

menar du att du ska öppna mailprogrammet med adress och medelande inskrivet från början? För det är vad mailto gör, öppnar mailprogrammet. Annars måste du köra en mailserver på servern så att du kan skicka iväg ett mail och då måste du även använda ett serverbaserat språk.

Permalänk

Hej Earl, Om jag använder mig av Mailto i IE så öppnas, iaf inte med mina inställningar, inte outlook. En box kommer istället upp som berättar att jag försöker skicka mail och jag får välja att fortsätta eller inte. Problemet är att mailet måste skickas till en förvald motttagare som står i skriptet, t.ex. Mailto:fabian.bergmark@elev.vittra.se Skulle isället vilja ha ett txt field där jag skriver in mottagaren. Hur löser jag detta på ett ej för omständigt sätt?

/bergmark

Föressten, jag kan genom att sätta name på olika text fields skriva meddelandet i webbläsaren

<input type="text" name="name"
value="" size="20">

I meddelandet kommer det då upp name="vad du skrev"

Krävs inget krångel, ändast en submit knapp

Permalänk
Medlem

Så du är alltså inte ute efter ett script som skickar ett mail?
Utan du vill snarare att användarens mailprogram öppnas och frågar om man vill skicka eller inte.

Visa signatur

E6300 | Thermalright Ultra-120 eXtreme + Noctua 120mm 1200rpm | Gigabyte GA-965P-DS3 | 3GB Corsair XMS2-6400 CL5

Permalänk

Kanske uttryckte mig otydligt,
Det jag är ute efter är ett script i Js eller html där jag genom att i en textbox skriva en mailadress får ett meddelande skickat till den adressen. Att skriva MAILTO:fabian.bergmark@telia.com fungerar alltså inte.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av fabianbergmark
Kanske uttryckte mig otydligt,
Det jag är ute efter är ett script i Js eller html där jag genom att i en textbox skriva en mailadress får ett meddelande skickat till den adressen. Att skriva MAILTO:fabian.bergmark@telia.com fungerar alltså inte.

Kort svar:
Det går inte att SKICKA mail med HTML och JS.

Längre svar:
Det går utmärkt med PHP!
mail();

<?php if( strlen($_POST['meddelande'])>10 && strlen($_POST['adress'])>5 ) mail($_POST['adress'],'Rubrik',$_POST['meddelande'],"headers....blablabla"); ?>

Visa signatur

E6300 | Thermalright Ultra-120 eXtreme + Noctua 120mm 1200rpm | Gigabyte GA-965P-DS3 | 3GB Corsair XMS2-6400 CL5

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av fabianbergmark
Hej Earl, Om jag använder mig av Mailto i IE så öppnas, iaf inte med mina inställningar, inte outlook. En box kommer istället upp som berättar att jag försöker skicka mail och jag får välja att fortsätta eller inte. Problemet är att mailet måste skickas till en förvald motttagare som står i skriptet, t.ex. Mailto:fabian.bergmark@elev.vittra.se Skulle isället vilja ha ett txt field där jag skriver in mottagaren. Hur löser jag detta på ett ej för omständigt sätt?

Även fast inte hela outlook-programmet öppnas är det fortfarande genom en lokal mailklient som det kommer att skicka, testa din sida med en dator som inte har en konfigurerad mailklient så kommer det bli uppenbart... för lösning anvisar jag till övriga inlägg

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av sunkBurk
Kort svar:
Det går inte att SKICKA mail med HTML och JS.

Längre svar:
Det går utmärkt med PHP!
mail();

<?php if( strlen($_POST['meddelande'])>10 && strlen($_POST['adress'])>5 ) mail($_POST['adress'],'Rubrik',$_POST['meddelande'],"headers....blablabla"); ?>

Vilket bygger på att de ligger en smtpserver på serverna skriptet rullar på.

Permalänk

Ok, detta blev lite väl omständigt, får ta och skicka mail genom en mailklient i stället. Min ursprungliga fråga var då om jag istället för att skriva in mottagaren i formen (MAILTO:fabian.bergmark@telia.com) kunna få scriptet att hämta mottagaren från vad som står i en textbox. Om sedan meddelandet skickas genom en mailklient eller inte spelar ingen roll.

Permalänk
Medlem

hmm, har aldrig använt javascript tidigare direkt, men kollade lite på w3schools, och detta borde funka:

<form id="mailFrom" method="POST" action="mailto:default"> <input type="text" id="sendto" onchange="document.getElementById('mailFrom').action = 'mailto:' + document.getElementById('sendto').value; return false"> <input type="submit" value="Skicka"> </form>

Permalänk

Tack, det fungerade perfekt.
Ett litet problem bara:

Om jag "skickar" genom IE, så skicas inte meddelandet jag skrivit som text, utan det bifogas istället POSTDATA.ATT, vilket sedan innehåller meddelandet.
Hur som helst, blir det lite problem om meddelandet innehåller mellanslag, punkter, komma eller liknande och det "förvrängs" till
Det+g%E5r+inte+s%E5+bra. (Ursprungligt: Det går inte så bra.)
Går detta att fixa på nått fiffigt sätt?

Permalänk

Du kan bara lägga ett enctype

<form id="mailform" action="mailto:default" ENCTAPE="text/plain">

Dina värden här

</form>

Permalänk
Hedersmedlem

feras_wilson: Attributet heter enctype, inte enctape.

Frågan är om detta ordnar till texten eller om det fortfarande konverteras till specialtecken. Jag gissar på att texten fortfarande kommer att konverteras, tyvärr.

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av fabianbergmark
Tack, det fungerade perfekt.
Ett litet problem bara:

Om jag "skickar" genom IE, så skicas inte meddelandet jag skrivit som text, utan det bifogas istället POSTDATA.ATT, vilket sedan innehåller meddelandet.
Hur som helst, blir det lite problem om meddelandet innehåller mellanslag, punkter, komma eller liknande och det "förvrängs" till
Det+g%E5r+inte+s%E5+bra. (Ursprungligt: Det går inte så bra.)
Går detta att fixa på nått fiffigt sätt?

Nej, går inte att fixa. Eftersom datan skickas via GET eller POST så måste datan URL-encodeas, därför ser det så skumt ut.
Kan inte användaren skriva sitt mejl i mejlprogrammet du startar istället?