keine Zeilenumbrüche bei Thunderbird-Mail

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von KlausG.

    keine Zeilenumbrüche bei Thunderbird-Mail

    Hallo,

    mit Hilfe des unten stehenden Code versende ich E-Mails. Das funktioniert auch gut, allerdings macht er mir im Mail-Body keine Zeilenumbrüche.

    Sub subSendMailByThunderbird()
    Dim strTo As String, strSubject As String, strBody As String, strCommand As String
    strTo = "abcd@xyz.de"
    strSubject = "Mailtest Thunderbird"

    strBody = "Testmail mit Thunderbird aus VBA" & vbNewLine & "Testmail Zeile2"

    strCommand = "C:\Programme\Mozilla Thunderbird\thunderbird.exe"
    strCommand = strCommand & " -compose " & Chr$(34) & "mailto:" & strTo & "?"
    strCommand = strCommand & "subject=" & Chr$(34) & strSubject & Chr$(34) & "&"
    strCommand = strCommand & "body=" & Chr$(34) & strBody & Chr$(34)

    Call Shell(strCommand, vbNormalFocus)
    End Sub

    in der Zeile strBody = wird der Text für den Body der E-Mail festgelegt. Wobei es keine Rolle spielt wie ich den Zeilenumbruch angeben, also vbNewLine, oder vbCr & vbLf, oder chr(13) & chr(10). Das Ergebnis sieht immer so aus:

    Testmail mit Thunderbird aus VBA Testmail Zeile2

    Ich habe dann versucht den Text in HTML zu übergeben. Dann schreibt er mir aber schlicht und einfach den HTML-Code mit in den Mail-Body.

    Im Netz habe ich leider nichts dazu gefunden. Thunderbird ist auf dem neuesten Stand. Bin für jede Idee dankbar.

    Grüße
    Klaus
    Du übergibts den Zeilenumbruch der Shell.
    Es wundert mich, dass da überhaupt etwas funktioniert, insbesondere weil die Anführungszeichen auch nicht so richtig passen.
    Dein Command sieht so aus:

    Quellcode

    1. C:\Programme\Mozilla Thunderbird\thunderbird.exe -compose "mailto:abcd@xyz.de?subject="Mailtest Thunderbird"&body="Testmail mit Thunderbird aus VBA
    2. Testmail Zeile2"


    Versuchs mal mit \r\n. Ich habe keine Ahnung, ob Thunderbird das richtig interpretiert.
    So in etwa wäre mein Ansatz:

    Visual Basic-Quellcode

    1. ShellCommand = """C:\Programme\Mozilla Thunderbird\thunderbird.exe"" -compose ""mailto:" & strTo & "?subject='" & strSubject & "'&body='Line1\r\nLine2'"""
    was zu folgendem Befehl führt:

    Quellcode

    1. "C:\Programme\Mozilla Thunderbird\thunderbird.exe" -compose "mailto:abcd@xyz.de?subject='Mailtest Thunderbird'&body='Line1\r\nLine2'"


    Eine andere Alternative könnte URL-Schreibweise sein:

    Visual Basic-Quellcode

    1. ShellCommand = """C:\Programme\Mozilla Thunderbird\thunderbird.exe"" -compose ""mailto:" & strTo & "?subject='" & strSubject & "'&body='Line1%0D%0ALine2'"""
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()