mit Batch-Datei email versenden "Body"

Moderator: ModerationP

mit Batch-Datei email versenden "Body"

Beitragvon Kommandozeilen_Fan » 25. Okt 2021, 11:43

Hallo Forum,

ich möchte mit einer Batch-Datei eine eMail versenden was ja schon gut klappt, aber ich kann im "Body" keinen Zeilenumbruch einfügen.
In sämtlichen Foren und MicroSoft-Hilfeseiten wird immer nur der Standart-Text als Beispiel angegeben:

Outlook.exe /c ipm.note /m user@contoso.com?subject=Test&body=Hello

Ich brauche im Body mehrzeiligen Text, was ja eigentlich kein Problem sein sollte, aber egal ob ich %0A%0D oder \n\r
benutze (in die Batch-Datei schreibe), es wird kein mehrzeiliger Text sondern die "Zeichen" tauchen so im Text auf.
Auch \\n\\r bringt nichts.
Auf einer Internetseite die aus einem "Formular" mit Visual-Script eine eMAil versendet steht "vrCrLf",
habe ich versucht, taucht ebenfals als vrCrLf im Text auf.
Wie bekommt man mit der Kommandozeilen Option mehrzeiligen Text hin ?
___________________________
Hallo
das ist eine Mail
mit einer Batch-Datei versendet
Mit freundlichn Grüßen
...
___________________________

bin für jeden Tip Dankbar.
Kommandozeilen_Fan
Neuling
 
Beiträge: 2
Registriert: 25. Okt 2021, 09:25

Re: mit Bacht-Datei email versenden "Body"

Beitragvon knobbi38 » 25. Okt 2021, 11:51

Hallo,

dein Problem ist eher, wie du die Controlcharacters in der Kommandozeile vor der Auswertung des Batchprozessors versteckst:
https://ss64.com/nt/syntax-esc.html
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23

Re: mit Bacht-Datei email versenden "Body"

Beitragvon Fen » 25. Okt 2021, 11:52

Hallo,

warum nicht VBA verwenden?

mfg
Fen
 

Re: mit Bacht-Datei email versenden "Body"

Beitragvon knobbi38 » 25. Okt 2021, 11:55

Fen hat geschrieben:warum nicht VBA verwenden?

Du meintest wohl VBScript?

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23

Re: mit Bacht-Datei email versenden "Body"

Beitragvon Fen » 25. Okt 2021, 12:02

@Knobbi,

nein, eigentlich nicht. Vor langer Zeit habe ich mal formuliert "Warum den Windows, die paar DOS-Befehle kann man doch leicht lernen", aber heute noch mit Batch zu arbeiten ist etwas merkwürdig. Wenn, dann Powershell.

Aber eigentlich jede Fragestellung mit Outlook sollte auch mit VBA zu lösen sein.

mfg
Fen
 

Re: mit Batch-Datei email versenden "Body"

Beitragvon knobbi38 » 25. Okt 2021, 12:18

@Fen:

mit VBA kannst du aber keine Batchdateien schreiben und ich wüßte jetzt nicht, wenn ein anderes Programm die Einbindung von Batchdateien unterstützt, wie man das mit VBA lösen könnte.
VBScript war nur ein Beispiel, geht natürlich auch jede andere installierte Scriptsprache. Reine DOS Batchdateien sind mittlerweile nicht mehr ganz zeitgemäß.

Grüße Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23

Re: mit Batch-Datei email versenden "Body"

Beitragvon Kommandozeilen_Fan » 27. Okt 2021, 14:24

ich verwende ein eigenständiges Programm mit dem ich eine Batch-Datei erzeugen und aufrufen kann, hat also mit VBA gar nix zu tun.
Der Hinweis auf "https://ss64.com/nt/syntax-esc.html" bringt leider auch nichts, hier wird mit ^ eine Escapesequenz eingeleitet, mit der man Zeilen splitten kann.
Ich will aber mehrere Zeilen zusammenhänge und übergeben.
Hat Outlook eine Option mit der ich den Body als eine Datei (link) angeben kann, da hab ich nichts gefunden.
Powershell wird da nicht wirklich helfen, oder hat des schon jemand erfolgreich ausgeführt ?

Gruß und Dank an die Beantworter
Kommandozeilen_Fan
Neuling
 
Beiträge: 2
Registriert: 25. Okt 2021, 09:25

Re: mit Batch-Datei email versenden "Body"

Beitragvon knobbi38 » 27. Okt 2021, 14:29

Hierbei geht es nicht darum, eine Zeile zu splitten, sondern in der Zeile mit dem Body-Text das VBCrLF zu maskieren. In einer Batchdatei kannst du die Steuerzeichen nicht wie in HTML z.B. mit #0A#0D angeben.

Also schau dir unter diesem Aspekt nochmal die Hinweise in dem Link an.

Eine Option, den Bodytext als Link zu übergeben gibt es nicht.
Alternativ kannst du aus deiner Batchdatei eine VBScript-Datei aufrufen, wenn das hilft:
https://www.it-swarm.com.de/de/windows/so-rufen-sie-ein-vbscript-aus-einer-batchdatei-auf-ohne-eine-zusaetzliche-eingabeaufforderung-zu-oeffnen/1067917710/

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23

Re: mit Batch-Datei email versenden "Body"

Beitragvon DerHoepp » 27. Okt 2021, 14:49

Moin,

was Ulrich damit sagen will, um zu verhindern, dass einzelteile eines Commands als %1 %2 %3 an das Programm übergeben werden, musst du den URI-Parameter auch als einen einzigen Parameter übergeben (Anführungszeichen!):
Code: Alles auswählen
outlook /c ipm.note /m "eine@adresse.de?subject=Hallo%20du&body=Na,%20wie%0Agehts"


Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 9866
Registriert: 14. Mai 2013, 11:08

Re: mit Batch-Datei email versenden "Body"

Beitragvon knobbi38 » 27. Okt 2021, 17:47

Hallo,

nicht nur das. Die Schreibweise %20 (URL Encoding) kann ich zwar in der Batchdatei verwenden und auch in Anführungszeichen setzen, ob Outlook damit aber etwas anfangen kann, darf bezweifelt werden.

Das Problem ist, daß man kein Steuerzeichen (=ControlCharacter) in einer Batchdatei unterbringen kann, ohne das der Befehlszeilenprozessor diese interpretiert. Möchte ich also solch ein Zeichen als Argument verwenden, muß dieses für den Befehlszeilenprozessor maskiert (escape) werden. Das geht, indem ein Zirkumflex (Escape)-Zeichen vorangestellt wird. Für den Zeilumbruch am Ende einer Zeile, muß ich diesen dann mit einem ^ als letztes sichtbares Zeichen in der Zeile, eingeben.

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23

Re: mit Batch-Datei email versenden "Body"

Beitragvon DerHoepp » 28. Okt 2021, 08:21

Moin,

knobbi38 hat geschrieben:ob Outlook damit aber etwas anfangen kann, darf bezweifelt werden.

ich hatte das genau so getestet. Die aus der Commandline als "Gesamtparameter" übergebene, an Outlook.exe gesendete, URL wird von Outlook.Exe so umgesetzt, dass eine neue Mail erzeugt wird, bei der der Body sowohl mit Leerzeichen, als auch mit Zeilenumbruch (%0A) vorgefüllt ist. Genau so funktioniert es auch mit einer mailto:-URL.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 9866
Registriert: 14. Mai 2013, 11:08

Re: mit Batch-Datei email versenden "Body"

Beitragvon knobbi38 » 28. Okt 2021, 12:04

@DerHoepp:

Das war mir neu und da hätte ich jetzt nicht mit gerechnet, aber um so besser.

Vielen Dank für deinen Hinweis.

VG Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3605
Registriert: 02. Jul 2015, 14:23


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste