Toon posts:

[ASP/VBScript] CDO wil niet meewerken....

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een facturatiesysteem die tussen de 200 en 800 mails verstuurd. Wat de applicatie doet is eigenlijk vrij simpel:

De applicatie:
1) Zoekt de juiste database waardes op in een tabel;
2) Maakt van de database waardes een PDF;
3) Slaat de PDF op onder het factuurnummer;
4) Verstuurd een mail naar de klant met als attachment de factuur.

De PDF is slechts 6Kb groot dus daar kan het ook niet aan liggen. Het werkt namelijk wel wanneer ik naar domeinnamen verstuur binnen ons eigen netwerk. Ik kan zelfs alle 300 mails naar een @hotmail.com adres versturen.

Ik gebruik CDOSYS.

Heeft iemand een idee hoe dit kan? Het lijkt me niet dat CDOSYS op een bepaalde manier een e-mailadres controleert. Alle e-mailadressen bestaan daadwerkelijk en juist geformatteerd.

Via Google heb ik ook al verschillende pagina's gevonden maar voordat ik de boel begin te herschrijven zou ik graag willen weten waar dit aan ligt.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Wat werkt er niet dan? Komen alle mails niet aan uit één bepaalde batch, of maar eentje? Gebruik je je eigen mailserver of een van je provider? In het eerste geval: wat staat er in je logs? In beide gevallen: check eens of je niet ergens geblacklist bent of de verkeerde headers stuurt. Worden de mailtjes al dan niet gebounced? Stuur je alle mails tegelijk (met alles in BCC) of juist 800 aparte mails? Heb je relevante code om te laten zien? Dit zijn allemaal vragen die van belang zijn bij het oplossen van je probleem maar geen van deze vragen beantwoord je in je TS. Hoe kunnen wij je dan helpen? ;)

Je bent al vaker op het bestaan van Programming Beleid - De "quickstart" gewezen; lees die dan ook eens door en probeer je daar dan zoveel mogelijk aan te houden. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • TygeR
  • Registratie: Oktober 2000
  • Laatst online: 06-02 16:23
Deze functie gebruik ik zelf voor wat jij wil doen, het werkt ok zelfs voor batches van meer dan 1000, denk er alleen wel even aan dat je tussen de aanroepen even een sleep(xxx) meegeeft waarin xxx de tijd is die je er maximaal over doet om de een e-mail van de batch te versturen. anders schijt het systeem te crashen (het lijkt alsof het nog bezig is maar er gebeurd niets meer.)
ik verstuur hier grotere bestanden mee en gebruik een sleep van 1000

code:
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
48
49
50
51
52
53
54
Function sendMail(receiver As String, subject As String, body As String, Optional attachment As String) As Boolean
Dim iMsg As CDO.Message
Dim iConf As CDO.Configuration
Dim strbody As String
Dim Flds As Variant
Dim schema As String

10  On Error GoTo errhandler

20  Set iMsg = CreateObject("CDO.Message")
30  Set iConf = CreateObject("CDO.Configuration")

35    schema = "http://schemas.microsoft.com/cdo/configuration/"
    
40    'iConf.Load -1    ' CDO Source Defaults
50    Set Flds = iConf.Fields
60    Flds.Item(schema & "sendusing") = 2
70    Flds.Item(schema & "smtpserver") = "smtp.xs4all.nl"
80    Flds.Item(schema & "smtpserverport") = 25
81    Flds.Item(schema & "smtpauthenticate") = 0

82    Flds.Update
'60    Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'70    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.xs4all.nl"
'80    Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    
90    Set iMsg.Configuration = iConf
100    iMsg.To = receiver
110    iMsg.CC = ""
120    iMsg.BCC = "persoon@domein.nl"
130    iMsg.from = """naam persoon"" <persoon@domein.nl>"
140    iMsg.subject = subject
        If Not IsMissing(attachment) Then
150      iMsg.AddAttachment attachment
        Else
         iMsg.attachments.DeleteAll
        End If
160    iMsg.TextBody = body
170    iMsg.Send
    
180    Set iMsg = Nothing
190    Set iConf = Nothing
200    sendMail = True
    
exitsub:
8000    On Error Resume Next
8010    Exit Function

errhandler:
9001    sendMail = False
9000    'MsgBox "Fout in regel " & Erl & " In: " & "sendMail" & vbCrLf & Err.Number & " : " & Err.Description
9010    Resume exitsub
   
End Function