CDO Message /Content-Transfer-Encoding: Base64 für Attachment erzwingen

  • Sonstige

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von macx.

    CDO Message /Content-Transfer-Encoding: Base64 für Attachment erzwingen

    Hallo zusammen,

    ich habe ein Problem mit dem Content-Transfer-Encoding für Datei-Anhänge mit dem MIME-Type text/plain. Ich würde diese gerne "base64"-kodieren. Allerdings macht der MTA (Mail Transfer Agent) mir anscheinend einen Strich durch die Rechnung.

    Ich erstelle die Mail über die CDO.Message-API.

    Visual Basic-Quellcode

    1. Set email = New CDO.message
    2. ' -----------------------------------------------
    3. ' Daten ins Mailobjekt schreiben
    4. ' -----------------------------------------------
    5. email.From = p_mailFrom
    6. email.ReplyTo = p_mailReplyTo
    7. email.To = p_mailTo
    8. email.BCC = p_mailBcc + ";" + p_mailFrom
    9. email.Subject = p_mailSubject
    10. email.TextBody = p_mailText
    11. For i = 0 To UBound(p_mailAttach)
    12. If p_mailAttach(i) <> "" Then
    13. Dim attachment As IBodyPart
    14. Set attachment = email.AddAttachment(p_mailAttach(i))
    15. attachment.ContentTransferEncoding = cdoBase64
    16. log.debugg ("Datei '" + p_mailAttach(i) + "' an Mail angehängt")
    17. End If
    18. Next i


    Die Anhänge füge ich hinzu und setze direkt das entsprechende Flag fürs Encoding. Schaue ich mir anschließend allerdings die Mail an, so finde ich dort das Encoding "quoted-printable" für den Anhang.

    Habt ihr eine Ahnung / einen Tipp wie ich das erzwingen kann, ohne weitere Kenntnis über den MTA zu haben?

    LG,
    Maik
    sooo... nach eigenen Recherchen (d.h. mehrerem Herumprobieren) bin ich auf die Lösung gekommen.

    Auf Grund des eigenen MIME-Types der Datei lässt sich CDO.Message wohl nicht davon abbringen zu lassen, die Datei "quoted-printable" zu encoden.

    Durch das zusätzliche Setzen des MIME-Types auf "application/octet-stream" funktioniert die base64-Codierung ohne weiteres.

    Visual Basic-Quellcode

    1. Dim part As IBodyPart
    2. Set part = email.AddAttachment(p_mailAttach(i))
    3. part.ContentTransferEncoding = cdoBase64
    4. part.ContentMediaType = "application/octet-stream"