Mime Mail Charset

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Mime Mail Charset

    Hallo,
    bei einer Software-Zertifizierung möchte der Prüfer in meiner Mail, die ich an den Server sende, als CharSet Utf-8 und bei Transfer-Encoding 8Bit sehen. Wenn ich mir meine gesendete Mail ansehe, steht da tatsächlich

    Quellcode

    1. ----boundary_0_0d7ea02f-019e-4875-bd4a-d1d184205dfd
    2. Content-Type: text/plain; charset=us-ascii
    3. Content-Transfer-Encoding: quoted-printable
    4. ----boundary_0_0d7ea02f-019e-4875-bd4a-d1d184205dfd
    5. Content-Type: application/xml; name=begleitdatei.xml
    6. Content-Transfer-Encoding: base64
    7. Content-Disposition: attachment; filename=begleitdatei.xml

    In meinem Code habe ich explicit angegeben
    message.BodyEncoding = System.Text.Encoding.UTF8

    Quellcode

    1. message = New MailMessage([from], [to])
    2. client = New SmtpClient(Server, iSnmpPort)
    3. client.DeliveryMethod = SmtpDeliveryMethod.Network
    4. client.Credentials = New NetworkCredential(MailUserName, MailUserPsw)
    5. message.BodyEncoding = System.Text.Encoding.UTF8
    6. Dim begleit As String = Application.StartupPath & "\OneClick\Outbox\begleitdatei.xml"
    7. Dim attachement As New Attachment(begleit, New Mime.ContentType("application/xml; name=begleitdatei.xml"))
    8. attachement.ContentDisposition.FileName = "begleitdatei.xml"
    9. attachement.ContentDisposition.DispositionType = "attachment"
    10. message.Attachments.Add(attachement)
    11. Dim abrDatei As String = Application.StartupPath & "\OneClick\Outbox\" & tbXKMDatei.Text
    12. Dim contType As String = "application/octet-stream; name=" & tbXKMDatei.Text
    13. Dim contentType As New Mime.ContentType(contType)
    14. attachement = New Attachment(abrDatei, contentType)
    15. attachement.ContentDisposition.FileName = tbXKMDatei.Text
    16. attachement.ContentDisposition.DispositionType = "attachment"
    17. message.Attachments.Add(attachement)

    Das Boundary mit dem Attachement ist okay. Wo liegt mein Fehler beim text/plain ???

    Danke und Grüße Norbert

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Ist gelöst. Nachdem ich über hundert Beiträge im Netz durchforstet habe, wollte ich nun nach drei Tagen fast schon das Handtuch werfen. Eine Lösung war einfach nicht in Sicht. Dann las ich, dass us-ascii immer genommen wird, wenn es im Body Zeichen gibt, die sich nicht in UTF-8 darstellen lassen. Ich hatte aber im Body gar nichts drin. Und das lässt sich nicht in UTF-8 darstellen??? Nun war aber die Lösung ganz einfach. Ich habe etwas hineingeschrieben und schon stand in der Mail

    ----boundary_5_f8543e07-7edd-4f89-b0ac-8c558446d324
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    Auch wenn's gelöst ist:

    strzata schrieb:

    Dann las ich, dass us-ascii immer genommen wird, wenn es im Body Zeichen gibt, die sich nicht in UTF-8 darstellen lassen.

    Das ergibt aber doch gar keinen Sinn, denn "us-ascii" enthält viel weniger Zeichen als UTF-8.

    Vielleicht meinst du es genau andersrum? Also dass us-ascii dann genommen wird, wenn UTF-8 nicht nötig ist. Witzigerweise hatte ich neulich ein Problem, was ähnlich klingt, mit Outlook, allerdings komplett ohne Programmierbezug: Outlook 2019: Probleme mit Registered-Trademark-Symbol (®) in Absendername (wird zu "R")
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum