pdiddo
Goto Top

Batch E-Mail Body aus txt lesen und einfügen

Hi Leute,

ich habe folgendes script als .bat

@echo off
chcp 1252
start "" "mailto:Empfänger?subject=Betreff&body=Text"  

Nun möchte ich gerne den body (anstatt "Text") mit dem Text aus der A.txt füllen.

Wie bekomme ich das hin ?

LG

Content-ID: 333649

Url: https://administrator.de/forum/batch-e-mail-body-aus-txt-lesen-und-einfuegen-333649.html

Ausgedruckt am: 24.12.2024 um 00:12 Uhr

132692
Lösung 132692 30.03.2017 aktualisiert um 13:57:23 Uhr
Goto Top
Wenn es mehr wie eine Zeile in der Textdatei steht nur mit VBS oder Blat oder Powershell, mit Batch wird das mit dem MAILTO-Protokoll sonst nichts.

Gruß p.
pdiddo
pdiddo 30.03.2017 um 13:44:11 Uhr
Goto Top
Ok, danke soweit face-smile


Wie bekomme ich das mit nur einer Zeile hin ? Weißt du das ?

LG pdiddo
132692
Lösung 132692 30.03.2017 aktualisiert um 13:46:08 Uhr
Goto Top
Zitat von @pdiddo:
Wie bekomme ich das mit nur einer Zeile hin ? Weißt du das ?
Simples set /p mit redirect
@echo off
chcp 1252
set /p text=<A.txt
start "" "mailto:Empfänger?subject=Betreff&body=%text%"  
132692
132692 30.03.2017 aktualisiert um 13:59:03 Uhr
Goto Top
Für mehrere Zeilen in der Textdatei nutze z.B. Powershell in der Batch:
powershell -Executionpolicy Bypass -Command "Send-MailMessage -From 'user@domain.de' -to 'empfaenger@domain.de' -Subject 'BlaBlaBla' -Body (gc 'C:\a.txt' -raw) -SmtpServer smtp.domain.de -Credential (New-Object PSCredential('USERNAME',(ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force))) -UseSSL"  
pdiddo
pdiddo 30.03.2017 aktualisiert um 14:16:35 Uhr
Goto Top
Das würde gehen face-smile Danke !

Jedoch wollte ich gerne einen E-Mailprogramm nutzen wie z.b. Outlook, da hier der Empfänger ausgewählt werden kann und nicht vorgegeben ist.
Deswegen auch start maito:


LG
132692
Lösung 132692 30.03.2017 aktualisiert um 14:20:29 Uhr
Goto Top
Zitat von @pdiddo:

Das würde gehen face-smile Danke !

Jedoch wollte ich gerne einen E-Mailprogramm nutzen wie z.b. Outlook, da hier der Empfänger ausgewählt werden kann und nicht vorgegeben ist.
Deswegen auch start maito:
Nicht wirklich nötig, VBS kannst du das auch, nur viel "detaillierter" kontrollieren:
Set objOutlook = CreateObject("Outlook.Application")  
Set fso = CreateObject("Scripting.FileSystemObject")  
With objOutlook.CreateItem(0)
	.Subject = "Betreff"  
	.Body = fso.OpenTextFile("c:\A.txt",1).ReadAll  
	.Display
End With
Du siehst "Batch" ist sowas von 80er face-smile, eigne dir was modernes an ...
pdiddo
pdiddo 30.03.2017 aktualisiert um 14:26:56 Uhr
Goto Top
Sehr geil !!

Das ist genau das was ich wollte !!

Daaanke face-smile

Muss wohl mal "umschulen" :D
pdiddo
pdiddo 01.04.2017 um 12:45:07 Uhr
Goto Top
Hi nochmal!

das funktioniert ja alles soweit prima!

Beim ausführen startet outlook und erstellt eine neue Mail.

Was mir jetzt fehlt, ist die Signatur.

Wenn ich im Outlook auf "neue Mail" klicke, setzt er mir im body gleich die Signatur ein.
Geht das auch mit dem vbs??

LG

pdiddo
132692
132692 01.04.2017 um 15:27:40 Uhr
Goto Top
Das lässt sich in der Registry steuern, Google ist dein Freund.