Archief - ASP: CDO Mailing

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Obliv`

Legacy Member
Ik heb hier een database waarin alle gebruikers staan die op mijn forum geregistreerd zijn.

Ik probeer nu zoiets als een 'password retrieval' te maken
ze moeten hun gebruikersnaam ingeven en dan om ok klikken

Dan zoek ik in men database of hun gebruikersnaam er in zit, als de naam gevonden wordt, zou er een mail naar de gebruiker moeten verzonden worden.
Als de naam niet gevonden wordt, geef ik gewoon een bericht weer.

Ik heb op w3schools gezocht naar de oplossing, dit is men code tot zover
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">


<head>

	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta http-equiv="imagetoolbar" content="no" />
	<title>Wachtwoord vergeten?</title>
	<link rel="stylesheet" type="text/css" href="../opmaak.css" />
	
</head>


<body style="margin: 0px;">

	<table border="0" cellpadding="0" cellspacing="0">
		<tr>
			<td><img src="../images/content_header.gif" alt="" /></td>
		</tr>
		<tr>
			<td class="textFont" style="text-indent: 7px;">
			<%
				dim objConn, objRecordSet
				dim mySQL
				dim Naam  
				
				Naam = Request.QueryString("Naam")
				Naam = Replace(Naam, Space(1), Space(0))
			
				Set objConn = Server.CreateObject("ADODB.Connection")
				Set objRecordSet = Server.CreateObject("ADODB.RecordSet")
							 
				objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath ("homies.mdb") & ";"
				objConn.Open
							  
				mySQL = "SELECT Gebruikersnaam, Wachtwoord, Email FROM tblUsers WHERE Gebruikersnaam = '" & Naam & "'"
				set objRecordSet = objConn.execute(mySQL)
									  
				If Not objRecordSet.EOF Then
					dim objMail
					Set objMail = Server.CreateObject("CDO.Message")
					
					With objMail
						.Subject = "De mannen van Bevel - Login gegevens"
						.From = "[email protected]"
						.To = objRecordSet("Email")
						.TextBody = "Gebruikersnaam: " & Naam & vbCrLf & "Wachtwoord: " & objRecordSet("Wachtwoord")
						[COLOR=DarkRed].Send[/COLOR]
					End With
					
					Set objMail = Nothing

					Response.write(Naam & ", uw login gegevens werden verzonden naar " & objRecordSet("Email")) 
				Else
					Response.write(Naam & ", er werden geen gegevens over jouw gevonden!")
				End If
			%>
			</td>
		</tr>
	</table>

</body>


</html>

Ik krijg de foutmelding:
Soort fout:
CDO.Message.1 (0x80070005)
Toegang geweigerd.
/mywebs/homies/database/admin_wachtwoordretrieval.asp, line 55
(line 55 sta in de code int rood ;))

Ik kan van dit mailverzending gedoe niets, maar zou het kunne dat men host dit niet ondersteunt. Heb nochtans gelezen dan CDO standaard in asp zit

groetjes

Ramm

Legacy Member
Deze komt rechtstreeks uit een app van mij en werkt, je zal wel nog wat moeten aanpassen naar je eigen vookeuren:

Code:
	' Create the e-mail server object
	Set objCDOSYSMail = Server.CreateObject("CDO.Message")
	Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
	' Outgoing SMTP server
	if len(strMailOut) = 0 then
		objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
	else
		objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strMailOut
	end if
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
	objCDOSYSCon.Fields.Update
	
	' Update the CDOSYS Configuration
	Set objCDOSYSMail.Configuration = objCDOSYSCon
	objCDOSYSMail.From = MailFrom
	objCDOSYSMail.To = MailTo
	objCDOSYSMail.Subject = MailSubject
	objCDOSYSMail.HTMLBody = MailBody
	objCDOSYSMail.Send
	'Close the server mail object
	Set objCDOSYSMail = Nothing
	Set objCDOSYSCon = Nothing

Ramm

Legacy Member
Uw smtp-server. Als je het lokaal draait bij telenet zal het wss uit.telenet.be zijn (denk ik). Meestal werkt gewoon "localhost" ook.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan