Toon posts:

[ASP.NET] Meerdere keren MailMessage met Attachment versture

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het volgende is het geval: ik wil voor een nieuwsbrief de afbeeldingen meesturen in de e-mail; hiervoor heb ik een functie gemaakt die de afbeeldingen uit de HTML haalt en deze meestuurt:

Visual Basic .NET:
1
2
att = New Attachment(fileStream, "bestandsnaam.jpg")
objMailMessage.Attachments.Add(att)

Nu wil ik deze objMailMessage meerdere keren gebruiken voor verzending door:
Visual Basic .NET:
1
2
3
4
5
6
7
Dim objSmtp As New SmtpClient("localhost")
While reader.Read
    Dim objMailMessageTemp As New MailMessage()
    objMailMessageTemp = objMailMessage
    objMailMessageTemp.To.Add(New MailAddress("email@email.nl", "naam"))
    objSmtp.Send(objMailMessageTemp)
End While

De 1e keer gaat het goed maar bij de volgende krijg ik deze foutmelding terug:
code:
1
One of the streams has already been used and can't be reset to the origin.

Hij probeert dus elke keer dat ik de mail wil versturen alle bijlagen in te lezen voor het versturen. Nu is dit natuurlijk ook niet geweldig voor de performance. Ik heb al op google gezocht met deze foutmelding maar er komt niets zinnigs over terug. Heeft er iemand een idee hoe ik kan aangeven dat hij de Attachments 1x in moet lezen en dan moet onthouden zodat de foutmelding niet optreedt, en hij niet bij elke verzending de attachments opnieuw gaat lezen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:35

gorgi_19

Kruimeltjes zijn weer op :9

Kan je een stream niet clonen oid? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Nee volgens mij niet, ik wil gewoon aan kunnen geven dat hij 1x zijn bestanden in moet lezen...

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:40
Je maakt nu ook meerdere keren je mail object aan. Kan je niet 1 keer je mail object maken en daarna alleen de recipients opnieuw zetten?
Anders zou je de attachment misschien nog in een memorystream kunnen zetten, en die voor je attachment gebruiken ipv de filestream.

Roomba E5 te koop


Verwijderd

Topicstarter
Ik heb de attachments nu inderdaad in een Memorystream gezet en nu gaat hij wel goed, performance is ook stukken beter.

Bedankt!