narthan
Goto Top

Batch Code Variablen Problem mit Mail

Guten Tag,

ich habe Batch Datei, die für jeden OWNER eine eigene .txt Datei erstellt, in der alle Gruppen von denen er der Owner ist auflistet, zusätzlich mit allen dazugehörigen Gruppenmitgliedern.
Nun mein Problem. Ich muss die Batch so ändern, dass, nachdem man sie ausführt, an jeden Owner eine Mail gesendet wird mit der betreffenden .txt Datei.

Bsp:

OwnerMüller.txt
OwnerMeier.txt

Die Batch soll per Mail die Datei "OwnerMüller.txt" an (z.B.) H.Müller@betrieb.de und die Datei "OwnerMeier.txt" and (z.B.) T.Meier@betrieb.de senden.


Mein bisheriger Code der Batch Datei sieht wie folgt aus:

::Gruppen ermitteln und einzeln im Unterprogramm ":ProcessGroup" weiterverarbeiten  
for /f "delims=" %%a in ('dsquery group "Pfad" -limit 999') do call :ProcessGroup %%a  
:: Batch hier beenden

goto :eof

:ProcessGroup
:: Gruppe steht in %1
:: Owner auslesen (steht nach erstem ":" und " " und kann Leerzeichen enthalten)  
set "Owner="  
for /f "tokens=1* delims=: " %%i in ('dsget group %1 -desc ^| findstr "Owner"') do set "Owner=%%j"  
:: Gruppen ohne Owner werden in der Datei "Gruppen_ohne_Owner.txt" gespeichert  
if not defined Owner echo %1 - kein Owner >> Gruppen_ohne_Owner.txt & goto :eof
:: Dateinamen (ohne Leerzeichen + ".txt") erstellen  
set "File=%Owner: =%.txt"  
:: Gruppennamen ermitteln (steht nach "CN" und "=" und vor ",")  
for /f "tokens=2 delims==," %%i in (%1) do set "Group=%%i"  
:: Gruppeninfo in Datei schreiben
setlocal enabledelayedexpansion
:: Owner nur beim Erstellen der Datei eintragen
if not exist "%File%" >>"%File%" echo Owner: %Owner%  
>>"%File%" echo Gruppe %Group%:  
endlocal
:: Gruppenmitglieder ermitteln und eintragen
for /f "tokens=2 delims==\" %%i in ('dsget group %1 -members') do >>"%File%"  echo - %%i  
:: Leerzeile eintragen
>>"%File%" echo(  
:: Rücksprung in das Hauptprogramm
goto :eof

Nun müsste ich doch eigtl mit mailto.exe in jedem Verlauf meiner Schleife mit der Owner Variablen eine Mail an ihn senden können. Das würde in etwa so aussehen, aber ich weiß nicht genau wie ich die Mail Adresse konfigurieren kann, da mir die %Owner% (Variable) in anderer Schreibweise als unsere Emailadressen angezeigt wird. Statt "Vorname.Nachname@betrieb.de" gibt Owner "Nachname,Vorname" aus

:: mailto   // -t = Empfänger der Mail // -a = Attachement // -sub = Betreff

mailto.exe -d "domain" -smtp "ip-adresse" -t vorname.nachname@betrieb.de -t -a "Anhang-Datei" -sub "Thema"  


Geht es vlt mit "dsget user -email" die Email des %user% zu ermitteln und in eine neue variable zu speichern, die man dann bei mailto verwenden könnte statt einer email adresse?? falls ja, wie?

Grüße narthan

Content-Key: 203478

Url: https://administrator.de/contentid/203478

Printed on: April 25, 2024 at 12:04 o'clock

Member: bastla
bastla Mar 18, 2013 at 13:07:57 (UTC)
Goto Top
Hallo narthan!

Wenn in %Owner%
Nachname,Vorname
steht, kannst Du ja per
for /f "tokens=1-2 delims=," %%i in ("%Owner%") do set "Mail=%%i.%%j@betrieb.de"
die zugehörige Mailadresse erzeugen ...

Grüße
bastla
Member: narthan
narthan Mar 18, 2013 at 13:18:38 (UTC)
Goto Top
for /f "tokens=1-2 delims=," %%i in ("%Owner%") do set
> "Mail=%%i.%%j@betrieb.de"
> 


Hey bastla face-smile

Danke, das versuch ich gleich mal und meld mich dann wieder!

Grüße,
narthan
Member: narthan
narthan Mar 19, 2013 updated at 12:38:17 (UTC)
Goto Top
Morgen,

tut mir leid, wenn die Frage jetzt dumm ist, aber wie kann ich das denn nun in die "mailto" Zeile integrieren? Muss ich für die Mail-Erzeugung dann eine neue Variable noch erzeugen?


EDIT:...ok %Mail% ist ja diese besagt Variable..sry, wohl noch zu früh^^


EDIT 2: Kennst du dich zufälligerweise auch mit mailto aus? Ich weiß nicht wieso, aber senden will er die Mail nicht... Als Rückmeldung kommt immer "Could not send mail".
--> ich befürchte, dass er nach dem Vornamen in der Email-Adresse (im for /f Befehl für %Mail%) ein Leerzeichen macht ..So sieht es zumindest aus wenn ich echo %Mail% ausführ face-sad

Gruß,
narthan
Member: bastla
bastla Mar 19, 2013 at 14:16:59 (UTC)
Goto Top
Hallo narthan!
ich befürchte, dass er nach dem Vornamen in der Email-Adresse (im for /f Befehl für %Mail%) ein Leerzeichen macht ..
Dann verwende doch zusätzlich zum Komma auch das Leerzeichen als "Delimiter" ...

Grüße
bastla
Member: narthan
narthan Mar 20, 2013 at 07:31:15 (UTC)
Goto Top
Hallo,

also daran lag es leider nicht. Hab delims angepasst und das Leerzeichen somit in den Email Adressen entfernt, aber senden tut er die Mails trotzdem noch nicht face-sad

Grüße,
narthan