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:
Nu wil ik deze objMailMessage meerdere keren gebruiken voor verzending door:
De 1e keer gaat het goed maar bij de volgende krijg ik deze foutmelding terug:
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?
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?