Ok, bedankt voor jullie antwoorden. Ik zal het proberen wat meer uit te leggen. Ik moet eerlijk toegeven dat ik al een tijdje aan het zoeken ben, maar ik ben een .NET-beginner, dus weet nog niet precies waar ik naar op zoek moet.
Waarom ik vroeg om een andere methode is eigenlijk omdat ik denk dat CDO niet te gebruiken is. Op mijn eigen (ontwikkel)-pc werkt het prima; 64-bits processor, Office 2010 + volledige MS access. Op een andere PC; 32-bits processor, office 2010 + runtime MS Access werkt dit niet meer. Nu kwam in mij de gedachte op dat de CDO-library óf bij MS access werkt meegeleverd óf bij Visual Studio (wat ik dus ook op mijn PC draai). Ik heb geprobeerd om dit verder uit te zoeken, maar kwam er verder niet uit. Daarom wil ik dus eigenlijk een andere oplossing.
Wat code betreft is het niet zo spannend:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| SendMail = False
' Create a new mail object
Set post1 = CreateObject("CDO.Message")
post1.From = sFrom
post1.TO = sTo
post1.Subject = sSubject
post1.TextBody = sBody
If sReplyTo = STR_NULL Then sReplyTo = sFrom
post1.ReplyTo = sReplyTo
If Not (sCC = STR_NULL) Then post1.cc = sCC
If Not (sBCC = STR_NULL) Then post1.BCC = sBCC
Debug.Print "TO: " & post1.TO
Debug.Print "CC: " & post1.cc
Debug.Print "BCC: " & post1.BCC
Set attach = CurrentDb.OpenRecordset("tblattachmentstosend")
If Not (attach.EOF And attach.BOF) Then
attach.MoveFirst
Do Until attach.EOF
If BestandBestaat(attach!Attachment) Then post1.AddAttachment attach!Attachment Else GoTo foutafhandeling
attach.MoveNext
Loop
End If
attach.close
Set attach = Nothing
post1.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = name_smtpserver
post1.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
post1.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
post1.Configuration.Fields.update
post1.send
If err Then
SendMail = False
Else
SendMail = True
End If
Exit Function
foutafhandeling:
SendMail = False |
Gewoon een nieuwe instantie van CDO maken en deze gebruiken. Volgens mij haal ik geen hele abnormale dingen uit in bovenstaand stukje code.
Is er niet gewoon een methode om simpel via een SMTP-server een mailtje te versturen, anders dan met CDO?