Kuinka tehdä 3 Laatikkoa ja nappula, kun nappulaan klikkaa, se lähettää laatikkojen sisällön sähköpostiini?
Tuli joku vammainen muistikatkos, siksi kysyn. :D
JavaScriptillä et moista saa aikaan, mut PHP:lla onnistuu. Kattele manuaalista mail-funktio. Tuolta koodivinkeistä varmaan löytyy rutkasti myös esimerkkejä.
Pystyykö millään muulla kuin php:llä? Vaikka html ym?
No ei ainakaan html eikä javascriptillä.
Onhan noita ohjelmointikieliä vaikka kuinka. Valitse tekniikka joka serveriltäsi löytyy.
Html:llä teet ne poksit ja nappulan ja sitten php:n mail funkkarilla sendit ne sähköpostiis. Se vaatii sitten et servulta löytyy stmp serveri tai sen että määrität missä osoitteessa sellainen on. Olga lähettikin jo linkin sinne mail funktion ohjeisiin
Moikka Jakke1!
tässä sulle ne kolme boxia, pari nappia & vähän JavaScript + muuta purkkaa...
<html><head><title>send mail</title> <script language="JavaScript"> var palaute=0; function mailaa(ösöite){ var osoite = document.getElementById('txt1').value; var aihe = document.getElementById('txt2').value; var teksti=document.getElementById('txtA').value; if (osoite==""){ alert("Osoite puuttuu!"); setFocus(formi.txt1); return; } tsekkaaOsoite (osoite); if(palaute==0){ alert("Osoite on syvältä!"); document.getElementById('txt1').value=""; setFocus(formi.txt1); return; } if (aihe==""){ aihe="Viesti" } if (teksti==""){ alert("Viesti puuttuu!"); setFocus(formi.txtA); return; } cmd="msimn.exe /mailurl:mailto:" + osoite + "?cc=" + "&bcc=&subject=" + aihe + "&body=" + teksti; var shell = new ActiveXObject("WScript.shell"); shell.run(cmd, 1); while (!shell.AppActivate(aihe)){ } shell.SendKeys("%T" + "L",true); } function setFocus(objekti) { objekti.select(); objekti.focus() } function sleep(ms) { //varoiks var now = new Date(); var delay = now.getTime() + ms; while(delay > now.getTime()){ now = new Date(); } } function clearBoxes(){ document.getElementById('txt1').value=""; document.getElementById('txt2').value=""; document.getElementById('txtA').value=""; setFocus(formi.txt1); } function tsekkaaOsoite (osoite) { var tsekkaTLD=1; var tunnetuLiite=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/; var osoiteLiitos=/^(.+)@(.+)$/; var erikoisMerkit="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; var sallitutMerkit="\[^\\s" + erikoisMerkit + "\]"; var siitatissa="(\"[^\"]*\")"; var ipDomLiite=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; var ydin=sallitutMerkit + '+'; var sana="(" + ydin + "|" + siitatissa + ")"; var kayttajaLiite=new RegExp("^" + sana + "(\\." + sana + ")*$"); var domainLiite=new RegExp("^" + ydin + "(\\." + ydin +")*$"); var vertailuTaulu=osoite.match(osoiteLiitos); if (vertailuTaulu==null) { palaute=0; return; } var kayttaja=vertailuTaulu[1]; var domain=vertailuTaulu[2]; for (i=0; i<kayttaja.length; i++) { if (kayttaja.charCodeAt(i)>127) { palaute=0; return; } } for (i=0; i<domain.length; i++) { if (domain.charCodeAt(i)>127) { palaute=0; return; } } if (kayttaja.match(kayttajaLiite)==null) { palaute=0; return; } var ipTaulu=domain.match(ipDomLiite); if (ipTaulu!=null) { for (var i=1;i<=4;i++) { if (ipTaulu[i]>255) { palaute=0; return; } } palaute=1 return; } var ydinLiitos=new RegExp("^" + ydin + "$"); var domTaulu=domain.split("."); var len=domTaulu.length; for (i=0;i<len;i++) { if (domTaulu[i].search(ydinLiitos)==-1) { palaute=0; return; } } palaute=1 return; } </script> </head> <body formi.txt1.focus()><form Id="formi"> Sähköpostiosoite: <br/><input type="text" ID="txt1" size="30" /><br/><br/> Viestin aihe: <br/><input type="text" ID="txt2" size="30"/><br/><br/> Viesti: <br><TEXTAREA Id="txtA" cols="50" rows="8"></TEXTAREA> <p><input type="Button" value=" Lähetä " onclick='mailaa("joku@jossain.com")'/> <input type="Button" value="Tyhjennä" onclick="clearBoxes()"/></p> </form></body><html>
Tuon Nean vastauksen voi tulkita sarkasmina.
Kysyit: "Pystyykö millään muulla kuin php:llä? Vaikka html ym?"
Nea antoi vastausksen siihen, mutta tuo on kyllä kaikkea muuta kuin hyvä ratkaisu. Toiminneekin vain - ja siinäkin tapaukseesa hyvällä tuurilla - pelkästään IE:llä :) Tai ei kyllä ole kokemusta miten ff ym. M$-riippumattomat selaimet noita ActiveX-komponentteja käyttelevät, mutta tuskin kovinkaan hyvin, jos ollenkaan.
Heippa taas!
...että paskanjauhanta vähän laantuis...
<!-- Iisi emailSender --><html><head/> <script language="JavaScript"> function mailaa(osoite){ var aihe = document.getElementById('txt2').value; var viesti=document.getElementById('txtA').innerText; //Scandit ei toimi, but so what? formi.action="mailto:" + osoite + "?cc=&bcc=&subject=" + aihe + "&body=" + viesti + "&Att:filename="; formi.submit(); formi.reset(); } </script> <body onload="formi.txt1.focus()"><form Id="formi" ENCTYPE="multipart/form-data" Method="POST" action=""> Sähköpostiosoite: <br/><input type="text" Id="txt1" size="30" /><br/><br/> Viestin aihe: <br/><input type="text" Id="txt2" size="30"/><br/><br/> Viesti: <br><TEXTAREA Id="txtA" cols="50" rows="8"></TEXTAREA> <!-- käytä Alt + 255 Lähetä-napin tekstissä --> <p><input type="Button" value=" Lähetä " onclick='mailaa(txt1.value)'/> <input type="Reset" value="Tyhjennä"/></p> </form></body><html>
Heippa taas!
f*** the script...
<!-- emailSender lite --><html><head/> <body onload="formi.txt1.focus()"><form Id="formi" ENCTYPE="multipart/form-data" Method="POST" action=""> Sähköpostiosoite: <br/><input type="text" Id="txt1" size="30" /><br/><br/> Viestin aihe: <br/><input type="text" Id="txt2" size="30"/><br/><br/> Viesti: <br><TEXTAREA Id="txtA" cols="50" rows="8"></TEXTAREA> <p><input type="button" value=" Lähetä " onmouseover="formi.action='mailto:'+ formi.txt1.value + '?cc=&bcc=&subject=' + formi.txt2.value + '&body=' + formi.txtA.value + '&Att:filename='" onmousedown="formi.submit();" onmouseup="formi.reset();" <input type="Reset" value="Tyhjennä"/></p> </form></body><html>
neau33 kirjoitti:
formi.action='mailto:'
mailto-formit ei oikeen toimi. Ne vaatii, että surffaajan koneella on oikein konffittu sähköpostiohjelma, mikä nykyisenä webmailin aikakautena on aika kova vaatimus.
Heippa taas!
joo, koodi on tosiaan syvältä...johtuisikohan siitä, etten vaivatunut käyttämään muistiota vaan kirjoittelin jutskan suoraan komentoriviltä tekstitiedostoon, että runat=server ei tarttunut mitenkään koodiin...
Aihe on jo aika vanha, joten et voi enää vastata siihen.