Toon posts:

[asp.net - vb] Email versturen gebeurt random?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vaag probleem. Ik ben bezig met een nieuwbrief verstuur mogelijkheid.
Hierbij worden eerst alle e-mailadressen uit de Gebruikers tabel gehaald en vervolgens per gebruiker een e-mail met de nieuwsbrief verstuurd.

Ik heb op dit moment 8 gebruikers in de MS Access database staan. Er zouden dus 8 e-mails verstuurd moeten worden.
Het probleem is dat de ene keer 6 e-mail verstuurd worden en de andere keer weer 4.
Ook als ik een standaard waarde als e-mail opgeef (bv mijn eigen emailadres) gebeurt hetzelfde.

Dit is de gebruikte code:

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
Sub NieuwsbriefVersturen()
    dim objConn as new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & DatabaseLocatie())

    dim objSelectCmd as new OleDbCommand ("SELECT * FROM Gebruikers WHERE nieuwsbrief='HTML'",  objConn)
    dim objSelectReader as OleDbDataReader

    try
        objConn.Open
        objSelectReader = objSelectCmd.ExecuteReader

        while (objSelectReader.Read)
            StuurMail("mijn@emailadres.nl", "HTML", "Hallo") '' waardes hier even niet relevant, deze worden in StuurMail ingesteld
        end while
        objConn.Close

        catch
            Response.write("Sturen van nieuwsbrief mislukt!")
    end try
End Sub

Sub StuurMail(emailadres as String, formaat as String, bericht as String)
    try
        Dim mailMessage As New MailMessage()
        mailMessage.From = "webmaster@adres.nl"
        mailMessage.To = "mijn@emailadres.nl"
        mailMessage.Subject = "Onderwerp"

        mailMessage.BodyFormat = MailFormat.HTML
        mailMessage.Body = bericht

        mailMessage.Priority = MailPriority.Normal
        SmtpMail.SmtpServer = "mail.chello.nl"
        SmtpMail.Send(mailMessage)
    catch
        Response.write("Versturen van mail mislukt")
    end try
End Sub


Als het misgaat krijg ik de foutmelding van StuurMail "Versturen van mail mislukt"

[ Voor 6% gewijzigd door Verwijderd op 28-05-2005 15:55 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ga eerst eens debuggen. Blijkbaar treed er een excpetion op in je StuurMail functie. Probeer eerst eens te achterhalen wat die exceptie is. Wij hebben hier natuurlijk ook geen glazen bol

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb schreef op zaterdag 28 mei 2005 @ 15:43:
Ga eerst eens debuggen. Blijkbaar treed er een excpetion op in je StuurMail functie. Probeer eerst eens te achterhalen wat die exceptie is. Wij hebben hier natuurlijk ook geen glazen bol
Dat is het vage. Er treed geen exception op, ook niet als ik alle try/catch verwijder

  • vogeltje
  • Registratie: December 2001
  • Laatst online: 10-08-2025
pas die code eens gewoon fantsoenlijk aan naar:

Visual Basic:
1
2
3
4
5
Try
  'hier wat code enzo
Catch ex As Exception
  Response.Write(ex.Message)
End Try


en kijk dan nog eens wat er fout gaat...

edit:
uiteraard is het netter om enkel de exception op te vangen welke door SmtpMail wordt gegooid. Maar dat laat ik hier ff weg

[ Voor 29% gewijzigd door vogeltje op 28-05-2005 16:42 ]

binnenkort een hele dikke casemod :P


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 21:52

Swerfer

Hmm...

Misschien ziet chello de snelheid van mail versturen wel als spam aan, en blokkeerd hij de rest. Probeer eens om na elk te mailen bericht 10 seconden te wachten. Als het dan wel werkt, dan ligt het probleem bij de beveiliging van chello.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op zaterdag 28 mei 2005 @ 15:53:
[...]

Dat is het vage. Er treed geen exception op, ook niet als ik alle try/catch verwijder
Blijkbaar treed er toch wel een exception op anders kan je nooit in het Catch gedeelte terecht komen.

En aangezie je pagina "Versturen van mail mislukt" laat zien zit je dus in het Catch gedeelte van je try block van StuurMail

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Zet ook even je database toegang in wat betere volgorde.

Dus

try
adocon.open
'do stuff

catch ex as exception
'do stuff

finally
'zorg ervoor dat alles netjes afgesloten wordt ed.
adocon.close

end try

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Waarom stuur je niet één mailtje met 10 man in de BCC?

'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.


Verwijderd

Topicstarter
vogeltje schreef op zaterdag 28 mei 2005 @ 16:41:
pas die code eens gewoon fantsoenlijk aan naar:

Visual Basic:
1
2
3
4
5
Try
  'hier wat code enzo
Catch ex As Exception
  Response.Write(ex.Message)
End Try


en kijk dan nog eens wat er fout gaat...

edit:
uiteraard is het netter om enkel de exception op te vangen welke door SmtpMail wordt gegooid. Maar dat laat ik hier ff weg
Ik krijg dan de foutmelding:
"Kan geen toegang krijgen tot het object CDO"
Swerfer schreef op zaterdag 28 mei 2005 @ 16:53:
Misschien ziet chello de snelheid van mail versturen wel als spam aan, en blokkeerd hij de rest. Probeer eens om na elk te mailen bericht 10 seconden te wachten. Als het dan wel werkt, dan ligt het probleem bij de beveiliging van chello.
Ik heb een vertraging toegepast en dan pakt ie ze inderdaad wel allemaal, ligt dus aan de chello mail server. Weet iemand een mailserver die dit wel toelaat. De mailserver waar de website op komt (Sohosted) verstuurt helemaal geen mail.
-NMe- schreef op zaterdag 28 mei 2005 @ 17:15:
Waarom stuur je niet één mailtje met 10 man in de BCC?
Ik heb de code hier ingekort, normaal gesproken zijn er twee soorten mailtjes "HTML" en "Tekst", er wordt elke keer gekeken of de gebruiker een HTML of Tekst mail wilt ontvangen. Maar inderdaad is jou oplossing veel eenvoudiger (en sneller volgens mij), zal er eens naar kijken.

  • vogeltje
  • Registratie: December 2001
  • Laatst online: 10-08-2025
ik denk sowieso dat de mail server het leuker vind, om in 1 rist 10 mails te versturen. Dan in 10 aparte request's, elke keer maar 1 mailtje te sturen. Dus gewoon 10 adressen in de BCC opnemen.....

binnenkort een hele dikke casemod :P


  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
-NMe- schreef op zaterdag 28 mei 2005 @ 17:15:
Waarom stuur je niet één mailtje met 10 man in de BCC?
Dit is wel een van de allerslechste manieren om emails te versturen.
Zeker bij grotere hoeveelheden is dit uit den boze aangezien bijv. Hotmail na 3 van die mailtjes de boel voor een half uur gaat blokkeren.
Daarnaast is personaliseren, een vaak gewenste feature, niet mogelijk...

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op zaterdag 28 mei 2005 @ 17:43:
[...]
Ik krijg dan de foutmelding:
"Kan geen toegang krijgen tot het object CDO"
Anders kijk je ook even wat de innerexceptions zijn. Hier heb je natuurlijk nog niet zoveel aan.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
rwb schreef op zondag 29 mei 2005 @ 14:25:
[...]

Anders kijk je ook even wat de innerexceptions zijn. Hier heb je natuurlijk nog niet zoveel aan.
Heb het inmiddels met de BCC optie opgelost, al schijnt dat niet de beste manier te zijn vanwege spam blokkering
Pagina: 1