Avatar billede chrilles Nybegynder
09. januar 2002 - 08:46 Der er 4 kommentarer

JMail eller Record set problem!

Jeg er ved at lave en mass-mail/bulk-mail i JMail - men har et lille problem!

- seneste version af jmail er installeret på serveren
- jmail virker, er testet med anden funktion
- For at lave bulk-mail med jmail skal man have
  den registreret version og det har jeg...
- Der skal kun sende en mail til dem som har en check-box checked i feltet TestUser (Access 2000)
- Jeg er ikke rutineret ASP programmør


Manualen til jmail findes her: XXXX - og på side 12 er forklaring til jmail
bulk/mass mail funktionen. Den synes jeg at have fulgt men ...


Jeg får følgende fejl når min kode aktiveres:

Error Type:
jmail.MailMerge (0x8000FFFF)
Mailmerge: Interface not supported. Invalid recordset
/gem/adminweb/MassMailSendStatus.asp, line 38

Min kode ser ud som følgende:

<%@LANGUAGE=\"VBSCRIPT\"%>
<%Option Explicit%>
<html>
<head>
<title></title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
<body>
<%


Dim ObjConn, objRs, Subject, Body, msgTemplate, mMerge, message

Set objConn = Server.CreateObject(\"ADODB.Connection\")
objConn.Open \"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\\Inetpub\\wwwroot\\gem\\base\\gem.mdb; Persist Security Info=False\"

Set objRs = Server.CreateObject(\"ADODB.Recordset\")
objRs.Open \"TestData\", objConn

Subject = request.form(\"txtSubject\")
Body = request.form(\"txtBody\")

set msgTemplate = Server.CreateObject(\"JMail.Message\")
msgTemplate.Subject = Subject
msgTemplate.Body = Body
msgTemplate.From = \"cw.inf@xxx.dk\"
msgTemplate.FromName = \"Ny Company\"
msgTemplate.AddRecipient \"%%Email%%\", \"%%FullName%%\"

set mMerge = Server.CreateObject( \"JMail.MailMerge\" )
mMerge.MailTemplate = msgTemplate
\'Message.Logging = true
\'Response.Write( Message.Log )

objRs = objConn.execute (\"SELECT FullName, Email, TestUser, ID FROM TestData WHERE TestUser = -1\")
\'-1 = checked checkbox in access 2000

mMerge.BulkMerge objRs, true

objRs.Close()
set objRs = Nothing
objConn.Close()
set objConn = Nothing

response.write \"Data Send!!!\"
%>
</body>
</html>

Avatar billede coltau Juniormester
11. januar 2002 - 16:13 #1
Uden at kende noget til \"mass-mail/bulk-mail i JMail\" så formoder jeg at datasettet \"objRS\" skal have samme kolonner som angivet i linien:
msgTemplate.AddRecipient \"%%Email%%\", \"%%FullName%%\"

Avatar billede chrilles Nybegynder
14. januar 2002 - 10:18 #2
Jeg er temmelig sikker på, at det ikke har noget med jmail at gøre - men med min håndtering (eller total manglende forståelse) af def. af record sets.
Avatar billede coltau Juniormester
14. januar 2002 - 13:40 #3
Ok. !
Så prøv med denne linie i stedet for.

objRs = objConn.execute (\"SELECT Email, FullName FROM TestData WHERE TestUser = -1\")

Avatar billede chrilles Nybegynder
15. januar 2002 - 08:56 #4
Det er testet. Der sendes til alle. Testuser-feltet indsatte jeg kun i mailen for at kontrollere, hvilken værdi der blev returneret - og det var -1 når boksen var checked.
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