Avatar billede okkels Nybegynder
13. januar 2004 - 02:09 Der 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.

Help, anyone?

På forhånd mange tak,
Kristoffer Okkels
Avatar billede trumf Nybegynder
13. januar 2004 - 03:50 #1
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.
Avatar billede okkels Nybegynder
13. januar 2004 - 11:31 #2
Hej,

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.

Kan det lade sig gøre??

Mvh/
Okkels
Avatar billede trumf Nybegynder
13. januar 2004 - 11:42 #3
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)
}
Avatar billede trumf Nybegynder
13. januar 2004 - 11:47 #4
Den skal så skrives nogenlunde sådan:

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;       
  }

else if (document.forms[0].email.value!='' && checkemail()==false) {
  alert("forkert mail!");
  error = 1;
}
}
Avatar billede okkels Nybegynder
13. januar 2004 - 12:19 #5
Kanon!

Med hjælp fra dem der hoster siden og din validering er alle mine kvaler overstået! ;-)

Mange tak for hurtig hjælp...

Med venlig hilsen,
Kristoffer Okkels
Avatar billede trumf Nybegynder
13. januar 2004 - 12:25 #6
Så lidt, tak for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester