Archief - ASP: CDOSYS verstuurd mijn html mails niet correct

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.

joyrider

Legacy Member
Ik heb een probleemke met CDOSYS wat ik gebruik voor een html mail te versturen.

Ik genereer eerst de html email (body gedeelte) helemaal in een variabele. Eens ik dit gedaan heb gebruik ik onderstaande functie om mijn html mail te versturen. Nu de code werkt want de mails worden verstuurd maar mijn orginele bericht komt niet overeen met het bericht dat is verzonden. Er zit een miniem verschil in nl er is ergens een enter teken tussen gekomen waardoor de html (tabel) opmaak helemaal in de war raakt (ik zie < TD> staan in de mail zelf, let op de spatie voor TD dit is de plek waar het enter teken tevoorschijn gekomen is, dit kon ik zien wanneer ik de mail opgeslagen had als een html file).
Nu om zeker te zijn dat ik geen fouten heb in mijn code heb ik die variabele dat de htmlbody bevat ook afgedrukt in een textarea op mijn pagina waar ik de mail verstuur en als ik daar kijk naar de waarde van die variabele staat er nergens dat enter teken in, maw het gebeurd wanneer de mail verstuurd wordt via CDOSYS.

Iemand enig idee waarom er bij de aangekomen/verzonden mail een Enter teken bijkomt Terwijl het niet in de variabele staat ?

want dit is vrij ambetant en vind maar geen reden waarom dit gebeurd

Code:
function sendmail(mailto,Subject,body)
 Set myMail=CreateObject("CDO.Message")
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="127.0.0.1"
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
 myMail.Configuration.Fields.Update
 myMail.Subject=Subject
 myMail.From="mijn email staat hier"
 myMail.To=mailto
 myMail.HTMLBody=[body]
 myMail.Send
 set myMail=nothing
end function

servi

Legacy Member
toon eens de generatie van de code van je body en de uitvoer van de body.

Een mogelijkheid zou kunnen zijn is dat dit systeem bijvoorbeeld na 80 lettertekens een nieuwe lijn forceert.

joyrider

Legacy Member
dit is de code voor het genereren van mijn body variabelen (2 voor 2 emails) tis vrij groot sorry
Code:
function Getartikellijn(nr,artikelid,aantal)
 set con = server.createobject("ADODB.connection")
 set rs = server.createobject("ADODB.Recordset")
 set command = server.createobject("ADODB.command")
 connstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\inetpub\vhosts\mopedenscooterparts.be\private\catalogus.mdb ;Jet OLEDB:Database Password=mijn db paswoord;"
 sqlstring = "SELECT TBLartikel.Artikelnr, TblArtikel.ArtikelOmschrijving, TblArtikel.ArtikelPrijsWebsite, tblArtikelPrijs.ArtikelPrijsEuro FROM tblArtikelPrijs INNER JOIN TblArtikel ON tblArtikelPrijs.pkartikelprijsid = TblArtikel.fkintArtikelPrijs WHERE (((TblArtikel.ArtikelId)=?));"
 con.open connstring
 command.commandtext = sqlstring
 command.commandtype = adcmdtext
 set param = command.createparameter(,adBigInt,adparaminput,,artikelid)
 command.parameters.append param
 command.activeconnection = con
 rs.open command
 if not rs.eof then 
   Getartikellijn =  "<TR><TD>" & nr & ".</TD><TD nowrap>"& rs("Artikelnr")&"</TD><TD>" & htmlspecialchars(setcase(rs("artikelomschrijving"))) & "</TD><TD nowrap align=right>" & aantal & "</TD><TD NOWRAP align=right>"&  formatnumber(rs("artikelprijseuro"),2,-1,0,0) & " &euro;</TD><TD NOWRAP align=right>"& formatnumber(aantal*rs("artikelprijseuro"),2,-1,0,0) &" &euro;</TD></TR>"
   Totaal = Totaal + (aantal * rs("artikelprijseuro"))
 end if
 rs.close
 con.close
 set idparam = nothing
 set command = nothing
 set rs=nothing
 set con=nothing
end function

 dealer = request("dealer")
 if len(dealer) = 0 then response.redirect "dealers.asp"

 if not isarray(session("winkelwagentje")) then
  response.redirect "winkelwagentje.asp"
 else
  winkelwagentje = session("winkelwagentje")
 end if

 if (winkelwagentje(0,0) = "") then
  response.redirect "winkelwagentje.asp"
 end if
 
 set con = server.createobject("ADODB.connection")
 set rs = server.createobject("ADODB.Recordset")
 set command = server.createobject("ADODB.command")
 connstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\inetpub\vhosts\mopedenscooterparts.be\private\website.mdb; Jet OLEDB:Database Password=mijn db paswoord;"
 sqlstring = "SELECT * FROM tblusers WHERE Tblusers.Id=?"
 con.open connstring
 command.commandtext = sqlstring
 command.commandtype = adcmdtext
 set param = command.createparameter(,adbigint,adparaminput,,Session("userid"))
 command.parameters.append param
 command.activeconnection = con
 rs.open command
 if not rs.eof then 
  Naam = rs("Naam")
  Voornaam = rs("Voornaam")
  Adres = rs("Adres")
  Postcode = rs("Postcode")
  Gemeente = rs("Gemeente")
  Email = rs("Email")
  Klantnr = rs("Klantnr")
 end if
 rs.close
 con.close
 set param = nothing
 set command = nothing
 set rs=nothing
 set con=nothing

 set con = server.createobject("ADODB.connection")
 set rs = server.createobject("ADODB.Recordset")
 set command = server.createobject("ADODB.command")
 connstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\inetpub\vhosts\mopedenscooterparts.be\private\catalogus.mdb; Jet OLEDB:Database Password=mijn db paswoord;"
 sqlstring = "SELECT TblKlant.Klantnr, TblKlant.KlantNaam, TblKlant.KlantAdress, TblKlant.KlantPostcode, TblKlant.KlantGemeente, TblKlant.KlantTelefoon FROM TblKlant WHERE (((TblKlant.Klantnr)=?));"
 con.open connstring
 command.commandtext = sqlstring
 command.commandtype = adcmdtext
 set param = command.createparameter(,adbigint,adparaminput,,dealer)
 command.parameters.append param
 command.activeconnection = con
 rs.open command
 if not rs.eof then 
  DealerKlantNr = rs("KlantNr")
  DealerNaam = rs("KlantNaam")
  DealerAdres = rs("KlantAdress")
  DealerPostcode = rs("KlantPostcode")
  DealerGemeente = rs("KlantGemeente")
  DealerTelefoon = rs("KlantTelefoon")
 end if
 rs.close
 con.close
 set param = nothing
 set command = nothing
 set rs=nothing
 set con=nothing
 body1 ="Bestelling van Particulier:<BR><TABLE><TR><TD><B>Klantnr:</B></TD><TD>"& klantnr&"</TD></TR><TR><TD><B>Naam:</B></TD><TD>"& Naam&"</TD></TR><TR><TD><B>Voornaam:</B></TD><TD>"&Voornaam&"</TD></TR><TR><TD><B>Adres:</B></TD><TD>"&Adres&"</TD></TR><TR><TD><B>Postcode:</B></TD><TD>"&Postcode&"</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>"&Gemeente&"</TD></TR><TR><TD><B>Email:</B></TD><TD>"&Email&"</TD></TR></TABLE><BR>Af te halen bij dealer:<BR><TABLE><TR><TD><B>Klantnr:</B></TD><TD>"& Dealerklantnr&"</TD></TR><TR><TD><B>Naam:</B></TD><TD>"& DealerNaam&"</TD></TR><TR><TD><B>Adres:</B></TD><TD>"&DealerAdres&"</TD></TR><TR><TD><B>Postcode:</B></TD><TD>"&DealerPostcode&"</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>"&DealerGemeente&"</TD></TR><TR><TD><B>Telefoon:</B></TD><TD>"& DealerTelefoon &"</TD></TR></TABLE><BR><BR>Met Als order gegevens:<BR>"
 body2 ="Beste " & Naam & " " & Voornaam &"<BR><BR>In deze mail vind u de bestelling terug die u bij Moped en Scooterparts geplaatst heeft.<BR>Druk deze mail af en hou hem goed bij want je zal met deze mail naar jouw geselecteerde dealer moeten gaan voor de goederen af te halen.<BR><BR>U kan uw goederen Afhalen bij volgende dealer:<BR><TABLE><TR><TD><B>Naam:</B></TD><TD>"& DealerNaam&"</TD></TR><TR><TD><B>Adres:</B></TD><TD>"&DealerAdres&"</TD></TR><TR><TD><B>Postcode:</B></TD><TD>"&DealerPostcode&"</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>"&DealerGemeente&"</TD></TR><TR><TD><B>Telefoon:</B></TD><TD>"& DealerTelefoon &"</TD></TR></TABLE><BR><BR><B>Order Gegevens:</B><BR>"

 if (winkelwagentje(0,0) <> "") then
  Body1 = body1 &  "<TABLE WIDTH=95% CELLSPACING=0 CELLPADDING=3><TR><TD>&nbsp;</TD><TD>ArtikelNr</TD><TD>Omschrijving</TD><TD align=right>aantal</TD><TD align=right>Prijs</TD><TD align=right>Totaal</TD></TR>"
  Body2 = body2 &  "<TABLE WIDTH=95% CELLSPACING=0 CELLPADDING=3><TR><TD>&nbsp;</TD><TD>ArtikelNr</TD><TD>Omschrijving</TD><TD align=right>aantal</TD><TD align=right>Prijs</TD><TD align=right>Totaal</TD></TR>"
  artikeltotaal = 0 
  for teller = 0 to ubound(winkelwagentje,2)
   if winkelwagentje(0,teller) <> "" then
    ArtikelTotaal = ArtikelTotaal + winkelwagentje(1,teller)
    body1 = body1 & getartikellijn( teller+1, winkelwagentje(0,teller),winkelwagentje(1,teller))
    body2 = body2 & getartikellijn( teller+1, winkelwagentje(0,teller),winkelwagentje(1,teller))
   else
    exit for
   end if
  next
  session.contents.remove("winkelwagentje")
  body1 = body1 & "<TR><TD colspan=6 align=right><B>Totaal zonder btw:  " & formatnumber(totaal/2,2,0,0,0) & " &euro;</B></TD></TR></TABLE><BR>Aantal Artikels:" & Artikeltotaal & "<BR>Aantal ArtikelLijnen:" & Teller
  body2 = body2 & "<TR><TD colspan=6 align=right><B>Totaal zonder btw:  " & formatnumber(totaal/2,2,0,0,0) & " &euro;</B></TD></TR></TABLE><BR>Met Vriendelijke Groeten<BR>Moped en Scooterparts<BR>Coppens Jos"
 sendmail "naar mijn email","Bestelling van particulier " & Naam & " " & Voornaam & " via de website" ,body1
  sendmail "naar mijn email","Uw Bestelling op Mopedenscooterparts.be",body2
 end if
end if
 response.write "<form><Textarea>" & body1 & vbnewline & vbnewline &  body2 & "</textarea></form>"

dit is de code die staat in de textarea op de pagina zelf (laatste regelke in de code hierboven)
Code:
Bestelling van Particulier:<BR><TABLE><TR><TD><B>Klantnr:</B></TD><TD>0</TD></TR><TR><TD><B>Naam:</B></TD><TD>willems</TD></TR><TR><TD><B>Voornaam:</B></TD><TD>davy</TD></TR><TR><TD><B>Adres:</B></TD><TD>jan moensstraat 33</TD></TR><TR><TD><B>Postcode:</B></TD><TD>1830</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>Machelen</TD></TR><TR><TD><B>Email:</B></TD><TD>[email protected]</TD></TR></TABLE><BR>Af te halen bij dealer:<BR><TABLE><TR><TD><B>Klantnr:</B></TD><TD>196</TD></TR><TR><TD><B>Naam:</B></TD><TD>E.R.MOTORS</TD></TR><TR><TD><B>Adres:</B></TD><TD>PAUWSTRAAT 54</TD></TR><TR><TD><B>Postcode:</B></TD><TD>2170</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>MERKSEM</TD></TR><TR><TD><B>Telefoon:</B></TD><TD>036/45.64.30</TD></TR></TABLE><BR><BR>Met Als order gegevens:<BR><TABLE WIDTH=95% CELLSPACING=0 CELLPADDING=3><TR><TD> </TD><TD>ArtikelNr</TD><TD>Omschrijving</TD><TD align=right>aantal</TD><TD align=right>Prijs</TD><TD align=right>Totaal</TD></TR><TR><TD>1.</TD><TD nowrap>100576</TD><TD>Band 225 x 16 m 874 baan</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>7.55 &#8364;</TD><TD NOWRAP align=right>7.55 &#8364;</TD></TR><TR><TD>2.</TD><TD nowrap>00399</TD><TD>Band 250 x 10 sr 520 j</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>14.80 &#8364;</TD><TD NOWRAP align=right>14.80 &#8364;</TD></TR><TR><TD>3.</TD><TD nowrap>121602</TD><TD>Accuzuur 1l</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>1.85 &#8364;</TD><TD NOWRAP align=right>1.85 &#8364;</TD></TR><TR><TD colspan=6 align=right><B>Totaal zonder btw:  24.20 &#8364;</B></TD></TR></TABLE><BR>Aantal Artikels:3<BR>Aantal ArtikelLijnen:3

Beste willems davy<BR><BR>In deze mail vind u de bestelling terug die u bij Moped en Scooterparts geplaatst heeft.<BR>Druk deze mail af en hou hem goed bij want je zal met deze mail naar jouw geselecteerde dealer moeten gaan voor de goederen af te halen.<BR><BR>U kan uw goederen Afhalen bij volgende dealer:<BR><TABLE><TR><TD><B>Naam:</B></TD><TD>E.R.MOTORS</TD></TR><TR><TD><B>Adres:</B></TD><TD>PAUWSTRAAT 54</TD></TR><TR><TD><B>Postcode:</B></TD><TD>2170</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>MERKSEM</TD></TR><TR><TD><B>Telefoon:</B></TD><TD>036/45.64.30</TD></TR></TABLE><BR><BR><B>Order Gegevens:</B><BR><TABLE WIDTH=95% CELLSPACING=0 CELLPADDING=3><TR><TD> </TD><TD>ArtikelNr</TD><TD>Omschrijving</TD><TD align=right>aantal</TD><TD align=right>Prijs</TD><TD align=right>Totaal</TD></TR><TR><TD>1.</TD><TD nowrap>100576</TD><TD>Band 225 x 16 m 874 baan</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>7.55 &#8364;</TD><TD NOWRAP align=right>7.55 &#8364;</TD></TR><TR><TD>2.</TD><TD nowrap>00399</TD><TD>Band 250 x 10 sr 520 j</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>14.80 &#8364;</TD><TD NOWRAP align=right>14.80 &#8364;</TD></TR><TR><TD>3.</TD><TD nowrap>121602</TD><TD>Accuzuur 1l</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>1.85 &#8364;</TD><TD NOWRAP align=right>1.85 &#8364;</TD></TR><TR><TD colspan=6 align=right><B>Totaal zonder btw:  24.20 &#8364;</B></TD></TR></TABLE><BR>Met Vriendelijke Groeten<BR>Moped en Scooterparts<BR>Coppens Jos

dit is de html code van de toegekomen email met de fout in, let op de enter voor de TD. De andere email die groter is in size bevat de fout niet
Code:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=iso-8859-1">
Beste willems davy<BR><BR>In deze mail vind u de bestelling terug die u bij Moped en Scooterparts geplaatst heeft.<BR>Druk deze mail af en hou hem goed bij want je zal met deze mail naar jouw geselecteerde dealer moeten gaan voor de goederen af te halen.<BR><BR>U kan uw goederen Afhalen bij volgende dealer:<BR><TABLE><TR><TD><B>Naam:</B></TD><TD>E.R.MOTORS</TD></TR><TR><TD><B>Adres:</B></TD><TD>PAUWSTRAAT 54</TD></TR><TR><TD><B>Postcode:</B></TD><TD>2170</TD></TR><TR><TD><B>Gemeente:</B></TD><TD>MERKSEM</TD></TR><TR><TD><B>Telefoon:</B></TD><TD>036/45.64.30</TD></TR></TABLE><BR><BR><B>Order Gegevens:</B><BR><TABLE WIDTH=95% CELLSPACING=0 CELLPADDING=3><TR><TD>&nbsp;</TD><TD>ArtikelNr</TD><TD>Omschrijving</TD><TD align=right>aantal</TD><TD align=right>Prijs</TD><TD align=right>Totaal</TD></TR><TR><TD>1.</TD><TD nowrap>100576</TD><TD>Band 225 x 16 m 874 baan</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>7.55 &euro;</TD><TD NOWRAP align=right>7.55 &euro;</TD></TR><TR><
 TD>2.</TD><TD nowrap>00399</TD><TD>Band 250 x 10 sr 520 j</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>14.80 &euro;</TD><TD NOWRAP align=right>14.80 &euro;</TD></TR><TR><TD>3.</TD><TD nowrap>121602</TD><TD>Accuzuur 1l</TD><TD nowrap align=right>1</TD><TD NOWRAP align=right>1.85 &euro;</TD><TD NOWRAP align=right>1.85 &euro;</TD></TR><TR><TD colspan=6 align=right><B>Totaal zonder btw:  24.20 &euro;</B></TD></TR></TABLE><BR>Met Vriendelijke Groeten<BR>Moped en Scooterparts<BR>Coppens Jos

servi

Legacy Member
ik vermoed dat het echt ligt aan veel te lange lijnen :

zet eens na elke <BR> een & vbCrLf &
zoals

edit : zo dus :

Code:
body1 ="Bestelling van Particulier:<BR>" & vbCrLf & "..."

maar dan voor elke <BR>

(als dit niet helpt, heb je tenminste toch al een beter overzicht van je code, want dit is praktisch onleesbaar )

joyrider

Legacy Member
jup da heeft het blijkbaar opgelost.
Zal maar best nog enkele vbcrlf's zetten achter mijn </TR>'s als ik de tabel van de order maak, of ik heb terug zo'n lange lijnen.

Alvast bedankt !
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