Hvordan slipper jeg for char hex encoding
Hej med jer...Jeg forsøger at bruge SMTPsvg.Mailer til at sende en multipart email med en html-del og en tekst-del.
Det fungerer fint for mig, bortset fra at min body tekst bliver encoded så der står "=E6" istedet for "æ", "=F8" istedet for "ø" osv.
Jeg kan:
1) Ikke finde ud af hvad det er den encoding hedder (Url encoding er noget med "%nn", HTML encoding er noget med "&#nn;" ... hvad pokker hedder den encoding der bruger "=nn"? nn er hex ascii værdien for tegnet - men jeg synes ikke rigtigt at jeg kan finde noget om det på google :-(
2) Ikke finde ud af hvordan jeg slipper for den encoding. Jeg vil helst have min tekst ud i helt almindelig iso-8859-1 eller noget lignende. Tidligere sendte jeg kun text/html ud, og da virkede det af en eller anden grund fint.
Er der nogen som kan hjælpe mig?
Hvis der er nogen som er interesseret i noget kode (som rent faktisk sender en korrekt (men idiotisk encoded) multipart email med text/html og text/plain besked, så er min funktion her:
---8<----------
Function sendMail(email, subject, bodyHTML, bodyPlain)
Set Mailer = CreateObject("SMTPsvg.Mailer")
Mailer.RemoteHost = "sendmailserver.domæne.dk"
Mailer.FromName = "Afsendernavn"
Mailer.FromAddress = "afsender@domæne.dk"
Mailer.CharSet = 2
Mailer.Encoding = 2
Mailer.ContentType = "multipart/alternative; boundary=""----xxxxxx"""
Mailer.AddExtraHeader "X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600"
Mailer.AddRecipient "",email
Mailer.Subject = subject
Dim TEXT_HEADER, HTML_HEADER, MP_FOOTER, strBody
TEXT_HEADER = "------xxxxxx" & VBCrLf & "Content-Type: text/plain;" & VBCrLf & "charset=""iso-8859-1""" & VBCrLf & "Content-Transfer-Encoding: 8bit" & VBCrLf & VBCrLf
HTML_HEADER = "------xxxxxx" & VBCrLf & "Content-Type: text/html;" & VBCrLf & "charset=""iso-8859-1""" & VBCrLf & "Content-Transfer-Encoding: 8bit" & VBCrLf & VBCrLf
MP_FOOTER = "------xxxxxx--" & VBCrLf
strBody = HTML_HEADER & bodyHTML & VBCrLf & TEXT_HEADER & bodyPlain & VBCrLf & MP_FOOTER
Mailer.BodyText = strBody
If Mailer.SendMail Then
sendMail = true
Else
sendMail = false
End If
set Mailer = nothing
End Function
---8<----------
(Jeg har klampet funktionen ud af konteksten og rettet den lidt til, så hvis den ikke virker alligevel, er det fordi mine ud af hovedet rettelser er forkerte - i så fald må I meget gerne skrive det, så jeg kan få rettet det ind!)
/o-zone