13. januar 2004 - 02:09Der er
5 kommentarer og 1 løsning
To problemer med Jmail-formular
Hej, Jeg står med to problemer i en Jmail-formular, som jeg håber I kan hjælpe med at løse.
1) Af én eller anden grund kan jeg ikke få skidtet til at sende til den rigtige modtager. Jeg kan godt få systemet til at virke når jeg sender til min egen e-mail og bruger min egen SMTP-server: Recipient = "kristoffer@mitdomæne.com"; xServer = "mail.mitdomæne.com";
Ligeså snart jeg ændrer disse to til noget andet, fx dette: Recipient = "herning-golf-klub@mail.tele.dk"; xServer = "post.tele.dk";
eller til dette: Recipient = "info@herninggolfklub.dk"; xServer = "mail.herninggolfklub.dk";
så får jeg følgende fejlmeddelelse:
" jmail.SMTPMail error '8000ffff' The message was undeliverable. All servers failed to receive the message /hgk2/udvalg/begynder/SendMail.asp, line 126 "
Er det ikke underligt?
2) Mit andet spørgsmål er af en lidt anden karakter, tror jeg. Problemet er, at jeg har sat alle felter til at validere for at der står noget i dem, undtaget feltet med folks e-mail adresse, da der jo sikkert er nogen, der endnu ikke har en sådan. Om det er derfor jeg får en fejlmeddelelse hvis der bliver indtastet noget som helst, som ikke er en gyldig e-mail ved jeg ikke, men faktum er at fx følgende inputs: hallo hallo@ hallo@hallo alle giver en fejlmeddelelse magen til den fra før. Hvis der enten _ikke_ bliver indtastet noget i feltet, eller hvis der bliver indtastet en valid e-mail, så er der ingen problemer.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
post.tele.dk er en smtp som er ved at blive udfaset. Du skal i stedet bruge smtp.mail.dk på server, så vil det virke. mail.herninggolfklub.dk kan du kun bruge hvis du har DNS'en og serveren er sat op til at relaye og det er meget lidt sandsynligt, så det er ikke så underligt endda.
Det er lidt forskelligt hvordan serverne er sat op de forskellige steder. Hos Azero er det ligegyldigt hvad der står i afsender, bare det er et gyldigt domæne. Hvis du sørger for at emailen har det rigtige format, så skulle den meget gerne komme frem, eller må du sætte en af dine egne mailadresser ind i stedet, evt en du bare smider ud, for der kan jo komme en del skidt til sådan en mail der ligger "frit" på nettet. For at se om det er en "rigtig" mail kan du jo se om der er et @ og mindst et tegn efter og et punktum og mindst to tegn efter punktum, så er du rimelig sikker.
Jeg har nu skrevet til dem, der hoster siden i håbet om de kan oplyse mig om hvilken SMTP-server jeg skal benytte mig af. Hvis ikke de kan det, så kan jeg jo blive nødt til at oprette en e-mail til det formål - og i så fald får du naturligvis point! ;)
Mht. det andet spørgsmål, så ville det glæde mig meget hvis du kunne komme med et eksempel på den pågældende validering. Lige nu ser funktionen sådan ud:
function validering() { error = 0;
if((document.forms[0].navn.value=='') && (error==0)) { alert('Du skal udfyldet feltet med dit navn!'); document.forms[0].navn.focus(); error = 1; }
Er der en let måde at ændre det på?
Det skal jo i øvrigt også lige laves så den kun validerer hvis der er skrevet noget i feltet - altså, så de folk, der ikke indtaster e-mail (fordi de ikke har én), ikke tvinges til at finde på noget.
Du kan godt bruge TDC's smtp selvom du ikke har en mail hos dem. Deres smtp ligger jo "offentligt" tilgængelig på nettet. Hvis du ikke bruger dem som ISP så kan du jo bare bruge en af de andre, der er mange af dem derude... Hvilken smtp bruger du i din outlook til at sende mail med ? Den kan du jo bare bruge, for det betaler du for.
if((document.forms[0].navn.value=='') && (error==0)) { alert('Du skal udfyldet feltet med dit navn!'); document.forms[0].navn.focus(); error = 1; }
else if (document.forms[0].email.value!='' && email validering) {
}
Der er masser af mail valideringer derude. feks
var testresults function checkemail(){ var str=document.validation.emailcheck.value var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i if (filter.test(str)) testresults=true else{ alert("Please input a valid email address!") testresults=false } return (testresults) }
var testresults function checkemail(){ var str=document.forms[0].email.value var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i if (filter.test(str)) testresults=true else{ testresults=false } return (testresults) }
function validering() { error = 0;
if((document.forms[0].navn.value=='') && (error==0)) { alert('Du skal udfyldet feltet med dit navn!'); document.forms[0].navn.focus(); error = 1; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.