Ik gebruik ook CDO voor het versturen van e-mails en vind dat ook een ongelooflijk knappe en heel snelle manier om e-mails te versturen met een VB-programma. Wat ik doe is de tekst omzetten naar HTML-code. Ik doe dat pas op het moment dat ik het bericht wil versturen.
Hiermee bedoel ik: jou "strMessage" is bij mij in het begin nog een tekst met returns in zonder HTML-code, wanneer ik het doorgeef aan mijn functie voor het versturen van de e-mail.
In mijn code maak ik ook al een HTML-string aan op de volgende manier: strHTML = "<HTML>" strHTML = strHTML & "<HEAD>" strHTML = strHTML & "<BODY>" strHTML = strHTML & "" & Message & "</br>" strHTML = strHTML & "</BODY>" strHTML = strHTML & "</HTML>"
Daarna ga ik de returns (vbCrLf) vervangen door "<br>" op de volgende manier: With iMsg .To = account@visualbasic.be .From = me@visualbasic.be .HTMLBody = Replace(strHTML, vbCrLf, "<br>") .Send End With
Door op die manier te werken heb ik nog nooit een "onderbroken" HTML-tag gezien, zoals jij vertelt in je vraag. Waar dat vandaan zou komen kan ik je niet zo één twee drie zeggen. Is je e-mail soms langer dan 1024 tekens? Het zou daar aan kunnen liggen. Kan je dat eens nakijken ?
Wat ik wel heb ondervonden is dat e-mails in HTMLformaat verstuurd naar een hotmail account of een msn account onleesbaar zijn. Mijn code is dus zo:
' if hotmail or msn account -> do not use htmlbody If InStr(1, Recipient, "@hotmail") > 0 Then .TextBody = Message ElseIf InStr(1, Recipient, "@msn") > 0 Then .TextBody = Message Else .HTMLBody = Replace(strHTML, vbCrLf, "<br>") End If
De poort die ik gebruik is 25. Ik heb daar nog geen problemen mee gehad.
Ik hoop dat je er een beetje aan uit kan.
|