roland666
Goto Top

Mailversand via Batch

Hallo Zusammen,

ich versuche gerade ein SQL Query - Abfrageergebnis via Batch raus zusenden.

Das Query schaut so aus=

SELECT pool_id, name,
min_memory_percent AS prozent_min,
max_memory_percent AS prozent_max,
max_memory_kb/1024 AS mb_max,
used_memory_kb/1024 AS mb_verwendet
FROM sys.dm_resource_governor_resource_pools;


sqlcmd -i C:\Skripte\SQLQuerys\RAM_Auslesen_SQL_DB.sql ( Aufruf des Query via batch) dies klappt auch!

@echo off <-- wie wären die Einträge um mich quasi " anzumelden"?
set SMTP=smtp.xxxx.de
set SUBJECT=Testmailing
set BODY=Das Ergebnis Deiner SQL Abfrage.
set FROM=Powershell@%computername% <-- kann ich hier einfach eine Absende Adresse Eintragen ?
set TO=rolandxxxxx@xxxxx.de

echo ich sende eine mail
powershell -ExecutionPolicy Unrestricted -c "Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body '%BODY%' -SmtpServer '%SMTP%' -From '%FROM%'"

Hier die (Fehler) Meldung
Send-mailMessage : An invalid Character was found in the mail Header :´@´.
At Line:1 Char :1
+CategoryInfo : Invalid Type: (Powershell@string) [SendMailMessage], FormatException
+FullQualified errorID: Format Execption. Microsoft.Powershell.Commands.sendmailMessage

Das Eegebnis komt auch richtig raus. Dieses Ergebnis will ich nun mit Mailsend zu senden, allerdings geht das nur via SSL und der ziel smtp steht nicht in der gleichen Domäne...
Der Port 587 ist aber in der firewall freigeben! Ich bekomme, glaube ich, immer den Hinweis das ich nicht authentifiziert bin? daher meine Fragenface-smile bin neu mit der batch geschichte ...

Danke euch vorab

Grüße
Roland

Content-ID: 514203

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

Mikrofonpartner
Mikrofonpartner 12.11.2019 aktualisiert um 23:01:49 Uhr
Goto Top
Hallo

Wenn du über einen SMTP sendest, solltest du dich dem gegenüber auch authentifizieren. Ich sehe keine Credentials.

Gruß Mikro

Beispiel:

Send-MailMessage -To xxx@hotmail.com -SmtpServer SMTP.office365.com -From yyy@hotmail.com -Port 587 -Credential $Credentials -UseSsl -Subject "Betreff" -Body "Text" -Attachments Dateianhang optional
141815
141815 13.11.2019 aktualisiert um 10:51:32 Uhr
Goto Top
@echo off
set "SMTP=smtp.xxxx.de"  
set "SUBJECT=Testmailing"  
set "BODY=Das Ergebnis Deiner SQL Abfrage."  
set "FROM=absender@domain.tld"  
set "TO=rolandxxxxx@xxxxx.de"  
set "USER=USERXYZ"  
set "PASSWORD=GEHEIM"  

powershell -ExecutionPolicy Bypass -NoP -c "Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body '%BODY%' -SmtpServer '%SMTP%' -From '%FROM%' -Credential (New-Object PSCredential('%USER%',(ConvertTo-SecureString '%PASSWORD%' -AsPlainText -Force))) -Port 587 -UseSSL"  
Roland666
Roland666 14.11.2019 um 23:40:23 Uhr
Goto Top
Danke Calendar!,

für die Antwort auf meine Fragen und das batch! Die Mail kommt nun auch an aber der Inhalt des SQL Query Ergebnisses wird leider noch nicht über mittelt...

Wie kann bzw. muss ich den Inhalt der CMD ausgabe in den Body der Mail bekommen?
Ginge das evtl mit der Powershell besser?

Danke Roland
Roland666
Roland666 14.11.2019 um 23:42:02 Uhr
Goto Top
Hi Mikrofonpartner,

das war genau meine Frage - wo bzw.wie muss ich die anmelde credential eintragen face-smile

Ich lag also richtig.

Danke Dir

Roland