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-ID: 203478

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

Ausgedruckt am: 08.11.2024 um 11:11 Uhr

bastla
bastla 18.03.2013 um 14:07:57 Uhr
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
narthan
narthan 18.03.2013 um 14:18:38 Uhr
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
narthan
narthan 19.03.2013 aktualisiert um 13:38:17 Uhr
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
bastla
bastla 19.03.2013 um 15:16:59 Uhr
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
narthan
narthan 20.03.2013 um 08:31:15 Uhr
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