Formulier in ASP

Status
Niet open voor verdere reacties.

Tibau

Gebruiker
Lid geworden
7 mrt 2004
Berichten
242
Ik heb een formulier in ASP overgenomen vanop mijn oude website en geprobeerd te integreren in de nieuwe.

Bij het uittesten ervan krijg ik de melding dat de gegevens goed verzonden zijn maar toch ontvang ik geen mail.

Weten jullie wat er fout is?

Code op: http://users.telenet.be/alltours/Contact.html

Thanks!!
 
Beste Tibau,

Maak je gebruik van cdonts? Zijn jullie in het bezit van een eigen webserver? Wellicht de beveiliging uit de ASP pagina(s) slopen? Is het mogelijk om de code hier te dumpen?

Bezit eigen MS webserver:

cdonts registreren in de opdrachtprompt: regsvr32 [c:\locatie]\cdonts.dll

Krijg je een specifieke foutmelding terug? Graag hier de melding dumpen.

Grt, Jos :shocked:
 
Laatst bewerkt:
Beste Tibau,

Maak je gebruik van cdonts? Zijn jullie in het bezit van een eigen webserver? Wellicht de beveiliging uit de ASP pagina(s) slopen? Is het mogelijk om de code hier te dumpen?

Bezit eigen MS webserver:

cdonts registreren in de opdrachtprompt: regsvr32 [c:\locatie]\cdonts.dll

Krijg je een specifieke foutmelding terug? Graag hier de melding dumpen.

Grt, Jos :shocked:

Beste Jos,

Bedankt voor jouw reactie, ik weet niet wat cdonts zijn. Ik bezit niet over een eigen webserver.

De code van contactSend.asp is:

Code:
<html>

<head>
<meta http-equiv="Content-Language" content="nl-be">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>.: All Tours :.</title>
<script language="JavaScript">
<!--
function FP_swapImg() {//v1.0
 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
 n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
 elm.$src=elm.src; elm.src=args[n+1]; } }
}

function FP_preloadImgs() {//v1.0
 var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
 for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}

function FP_getObjectByID(id,o) {//v1.0
 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
 else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
 if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
 for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
 f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
 for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
 return null;
}
// -->
</script>
<style type="text/css">
<!--
body {
	background-color: #e9e9e9;
}
-->
</style>
<link href="All Tours.CSS" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.stijl1 {
	font-family: "HandelGothic BT";
	font-size: 14pt;
}
.stijl2 {font-family: Arial, Helvetica, sans-serif}
-->
</style></head>

<body>
<p align="center"><span class="stijl1">BEVESTIGING</span></p>
<p>
  <%
  
  ' declare variables
  Dim objEmail
  Dim strBody
  Dim blnOk
  
  Dim strNaam
  Dim strVoornaam
  Dim strAdres1
  Dim strAdres2
  Dim strAdres3
  Dim strTelefoon
  Dim strEmail
  Dim strTekst
  Dim strVraag
  Dim strSubject
  Dim strCheck
  
  ' catch form values
  strNaam     = Request.Form("T1")
  strVoornaam = Request.Form("T2")
  strAdres1   = Request.Form("T3")
  strAdres2   = Request.Form("T4")
  strAdres3   = Request.Form("T5")
  strTelefoon = Request.Form("T6")
  strEmail    = Request.Form("T7")
  strTekst    = Request.Form("tekst")
  strCheck    = Request.Form("checkbox")
  strVraag    = Request.Form("vraag")
  
  If strVraag = "1" then
	strVraag = "Prijsofferte"
  Elseif strVraag = "2" then
	strVraag = "Algemene vraag"
  Elseif strVraag = "3" then
	strVraag = "Klacht"
  End if
  
  strSubject = "All-Tours.be | " & strVraag

  ' create email body
  strBody = ""
  strBody = strBody & "Beste," & vbCrLf
  strBody = strBody & " " & vbCrLf
  strBody = strBody & "Volgende email werd verstuurd vanaf het online contactformulier." & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & "Contactgegevens:" & vbCrLf
  strBody = strBody & "   Naam: " & strNaam & " " & strVoornaam & vbCrLf
  strBody = strBody & "   Adres: " & strAdres1 & " - " & strAdres2 & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & "   Telefoon: " & strTelefoon & vbCrLf
  strBody = strBody & "   Email: " & strEmail & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & "Het bericht werd verstuurd op:" & vbCrLf
  strBody = strBody & "   Datum: " & Right("0"&Day(Date()),2) & "/" & Right("0"&Month(Date()),2) & "/" & Year(Date()) & vbCrLf
  strBody = strBody & "   Uur: " & FormatDateTime(DateAdd("h",1,Time()),vbShortTime) & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & "Ik heb een vraag over : " & strVraag & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & "Reactie:" & vbCrLf & vbCrLf
  strBody = strBody & strTekst & vbCrLf
  strBody = strBody & "" & vbCrLf
  strBody = strBody & " - - - - - " & vbCrLf
  If strEmail <> "" then
	strBody = strBody & "Deze email kan rechstreeks beantwoord worden!" & vbCrLf
  End if

  ' send email 
  Set objEmail = Server.CreateObject ("Persits.MailSender")
  objEmail.Host = "127.0.0.1"
  If strEmail = "" then
	strEmail = "no-reply@all-tours.be"
  End if
  objEmail.From = strEmail
  objEmail.Subject = strSubject
  objEmail.AddAddress "info@all-tours.be"
  'objEmail.AddAddress "leander@pandora.be"
  objEmail.Body = strBody
  objEmail.Send
	    
  Set objEmail = Nothing

%>
</p>
<p>Beste klant,</p>
<p>Wij hebben uw vraag goed ontvangen en nemen zo spoedig mogelijk contact met u op.<br>
Wij wensen u nu reeds te danken voor de interesse die u in Reisbureau All Tours stelt.</p>
<p>Het All Tours team.</p>
</body>

</html>

Thanks
 
Beste Tibau,

Weet je zeker dat de provider nog ondersteuning biedt voor de mailcomponent van Persits? Misschien eerst even navragen. Ik zal ondertussen naar de code kijken en event. herschrijven waar nodig.

Grt, Jos :shocked:
 
Beste Tibau,

Weet je zeker dat de provider nog ondersteuning biedt voor de mailcomponent van Persits? Misschien eerst even navragen. Ik zal ondertussen naar de code kijken en event. herschrijven waar nodig.

Grt, Jos :shocked:

Beste Jos,

Ik weet even niet waarover je het hebt hoor. Maar normaal gezien wel.
Het enige dat ik gedaan heb, is het formulier vanop mijn oude website gehaald en gekopieerd in mijn nieuwe website. Mits aanpassing van de lay out uiteraard.

Op de oude website werkt het nog steeds, dus zou het ook op de nieuwe moeten werken
 
Beste Tibau,

Je moet de provider waar de website staat gewoon even vragen of ze de mailcomponent van Persits nog ondersteunen. Je maakt hier namelijk in je script gebruik van, zie regel:

Set objEmail = Server.CreateObject ("Persits.MailSender")

Klopt objEmail.Host = "127.0.0.1" wel? Ik bedoel IP-nr. (host) 127.0.0.1?

Of probeer dit scriptje om te kijken of Persits beschikbaar is:

Maak een tekst bestand aan genaamd bijvoorbeeld persits.asp. Plak de volgende code in persits.asp:

<%@LANGUAGE="VBSCRIPT"%>
<%
Dim objMail
On Error Resume Next
Set objMail = Server.CreateObject ("Persits.MailSender")
If Err.Number = 0 Then
Response.Write("Persits is geïnstalleerd")
Else
Response.Write("Persits is NIET geïnstalleerd")
End If
Set objMail=Nothing
%>


Upload persits.asp naar de webserver en roep vervolgens persits.asp op vanuit de internet browser, bijvoorbeeld http://www.all-tours.be/persits.asp en kijk of je de melding 'Persits is geïnstalleerd' of 'Persits is NIET geïnstalleerd' te zien krijgt.

Je kunt eventueel ook kijken of CDONTS beschikbaar is, tegenwoordig bijna niet meer maar je kunt het natuurlijk altijd proberen. Maak hiervoor bijvoorbeeld een bestand aan genaamd cdonts.asp. Kopieer de volgende code in cdonts.asp en upload deze naar de webserver:

<%@LANGUAGE="VBSCRIPT"%>
<%
Dim objMail
On Error Resume Next
Set objMail = CreateObject("CDONTS.NewMail")
If Err.Number = 0 Then
Response.Write("Cdonts is geïnstalleerd")
Else
Response.Write("Cdonts is NIET geïnstalleerd")
End If
Set objMail=Nothing
%>


Roep deze aan in je internet browser met bijvoorbeeld: http://www.all-tours.be/cdonts.asp

Grt, Jos :shocked:
 
Laatst bewerkt:
Beste Jos,

Ik heb beide zonet uitgetest en krijg volgend resultaat:

Persists is geïntstalleerd
Cdonts is NIET geïnstalleerd

Dus volgens mij staat het zo juist in het script he?
Waar staat deze regel voor? objEmail.Host = "127.0.0.1"
 
Laatst bewerkt:
Beste Tibau,

objEmail.Host = "127.0.0.1" is de SMTP mail (uitgaande mail) bij de provider op de webserver. IP-nummer 127.0.0.1 is dus het interne IP bij de provider. Misschien zou je kunnen vragen of dit nog wel klopt. Soms veranderen ze het adres wegens bijvoorbeeld een te hoge bulk-mail verkeer.

Wat je nog kunt proberen:

Maak een ASP bestand aan genaamd bijvoorbeeld 'mailtest.asp'. Voeg de volgende code aan het bestand toe, upload deze naar de webserver en roep deze aan met bijvoorbeeld: http://www.all-tours.be/mailtest.asp

<%@LANGUAGE="VBSCRIPT"%>
<%
Dim strHost, strTo, strDatum, strTijd
strHost = "127.0.0.1"
strTo = "info@all-tours.be" 'Deze kun je wijzigen in je eigen e-mailadres!
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = strHost

Mail.From = "testmail@all-tours.be"
Mail.FromName = "Testmail"
Mail.AddAddress strTo

strDatum = Day(Now) & "/" & Month(Now) & "/" & Year(Now)
strTijd = Hour(Now) & ":" & Minute(Now) & ":" & Second(Now)

Mail.Subject = "Test mail"
Mail.Body = "Dit is een test: " & strDatum & " | " & strTijd

strErr = ""
bSuccess = False
On Error Resume Next
Mail.Send
If Err <> 0 Then
strErr = Err.Description
Else
bSuccess = True
End If
%>
<html>
<body bgcolor="#FFFFFF">

<% If strErr <> "" Then %>
<h3>Er is een fout opgetreden: <%= strErr %>
<% End If %>
<% If bSuccess Then %>
Oke, bericht verstuurd naar: <%= strTo %>.
<% End If %>

</body>
</html>



Grt, Jos :shocked:
 
Laatst bewerkt:
Beste Jos,

Het werkt maar wat heel raar, ik krijg de mail maar voor de helft.
Ik ontvang dus de mail maar vanaf postcode en stad.
Al hetgeen wat er voor staat, krijg ik niet.

Das raar he!
 
Beste Tibau,

Je moet bij alle tekstvelden type erbij plaatsen.

Dus ipv:

<input id="t1" size="40" name="T1">

Moet worden:

<input type="text" id="t1" size="40" name="T1">

Bij de regel 'Ik wens in te schrijven voor de nieuwsbrief'' zou je gebruik kunnen maken van de tag 'label' zodat gebruikers op de hele regel kunnen klikken ipv alleen op de checkbox.

<label for="checkbox" style="cursor: pointer;cursor:hand">Ik&nbsp;wens&nbsp;in&nbsp;te&nbsp;schrijven&nbsp;voor&nbsp;de&nbsp;nieuwsbrief:<input type="checkbox" id="checkbox" name="Nieuwsbrief" CHECKED></label>

Grt, Jos :shocked:
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan