Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Logfileinhalt per E-Mail senden

Frage Sicherheit Backup

Mitglied: crackhawk

crackhawk (Level 1) - Jetzt verbinden

24.10.2013, aktualisiert 12:05 Uhr, 4160 Aufrufe, 4 Kommentare, 3 Danke

Hallo Admins!

Folgendes Problem:
Ich möchte mir den Inhalt einer Robocopy Logdatei per E-Mail zukommen lassen.
Die Datei als Anhang mitzusenden ist kein Problem, jedoch benötige ich den Inhalt direkt in der E-Mail da diese später automatisch ausgelesen und ein Backup Task als erfolgreich oder fehlerhaft gekennzeichnet wird.

Ich habe mir mit Hilfe von blat.exe bereits folgendes *.vbs Script gebastelt:
Dim objFileSystem, objInputFile
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set objInputFile = objFileSystem.OpenTextFile("logdatei.log", 1)
' read everything in an array
logfileinhalt = objInputFile.ReadAll
attribute = "-to empfaenger@provider.de -f absender@provider.de -server smtp.server.de -s Betreff"
mailinhalt = "-body """&logfileinhalt&""""
set WshShell = CreateObject("WScript.Shell")
WshShell.Run("blat.exe "&attribute&" "&mailinhalt)
objInputFile.Close
Das funktioniert auch einwandfrei, jedoch nicht mit Großen Logdateien da ich die Fehlermeldung "Der Dateiname oder die Erweiterung ist zu lang." bekomme. Irgendwie verständlich wenn ich die komplette Logdatei in die Dateierweiterung klatsche.

Was habe ich nun für Möglichkeiten mir den Inhalt der Datei per E-Mail zukommen zu lassen? Ich bin für alle Infos und alternativen offen.

Vielen Dank!

Gruß,
crackhawk
Mitglied: SlainteMhath
24.10.2013 um 12:54 Uhr
Moin,

blat hat doch einen Parameter der einen Filenamen nimmt und den Inhalt dann als Mailbody verwendet... wirf doch mal einen Blick in die Hilfe und/oder besorg dir die aktuelle Version.

lg,
Slainte
Bitte warten ..
Mitglied: Bitboy
24.10.2013 um 12:57 Uhr
Hi,

indem du die Mail vbs only sendest statt noch externe Programme zu benutzen?

01.
Set objMessage = CreateObject("CDO.Message")  
02.
objMessage.Subject = "Example CDO Message"  
03.
objMessage.From = "sender@mail"  
04.
objMessage.To = "recievier@mail" 
05.
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.server.fqdn" 
06.
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
07.
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
08.
objMessage.Configuration.Fields.Update 
09.
 
10.
'The line below shows how to send using HTML included directly in your script 
11.
objMessage.HTMLBody = "<h1>This is some sample message html.</h1>"  
12.
 
13.
'The line below shows how to send a webpage from a remote site 
14.
'objMessage.CreateMHTMLBody "http://www.paulsadowski.com/wsh/" 
15.
 
16.
'The line below shows how to send a webpage from a file on your machine 
17.
'objMessage.CreateMHTMLBody "file://c|/temp/test.htm" 
18.
 
19.
'objMessage.Bcc = "you@your.com" 
20.
'objMessage.Cc = "you2@your.com" 
21.
objMessage.Send 
22.
 

Zusammenkopiert von hier: http://stackoverflow.com/questions/582756/smtp-configuration-sendusing- ... und hier http://www.paulsadowski.com/wsh/cdo.htm in weniger als 5 Minuten ;)
Bitte warten ..
Mitglied: colinardo
24.10.2013 um 12:57 Uhr
Hallo crackhawk,
machs doch direkt mit Powershell, dann brauchst du kein 'Blat':
(Mailserver,Port,Username,Passwort in Zeile 2-5 eintragen, Logfile in Zeile 20 angeben und noch die Mailadressen in Zeile 21 ändern)
01.
Function sendmail($FROM,$TO,$SUBJECT,$BODY,$ATTACHMENTS){ 
02.
  $SMTPHOST = "smtp.mailserver.de" 
03.
  $SMTPPORT = 25 
04.
  $SMTPUSER = "USERNAME" 
05.
  $SMTPPass = "PASSWORD" 
06.
  $SMTPClient = New-object System.Net.Mail.SmtpClient($SMTPHOST,$SMTPPORT) 
07.
  $SMTPClient.EnableSsl = $true 
08.
  $Mail = new-object System.Net.Mail.MailMessage 
09.
  $Mail.from = $FROM  
10.
  $Mail.to.add($TO) 
11.
  $SMTPClient.Credentials = new-object System.Net.NetworkCredential($SMTPUSER,$SMTPPass) 
12.
  $Mail.Subject = $SUBJECT 
13.
  $Mail.Body = $BODY 
14.
  # Add Attachments 
15.
  foreach ($att in $ATTACHMENTS){ 
16.
    $Mail.Attachments.Add($att.FullName) 
17.
18.
  $SMTPClient.Send($Mail) 
19.
20.
 
21.
$logContent = Get-Content "C:\Temp\logfile.txt" | Out-String 
22.
sendmail "sender@email.de" "empfaenger@email.de" "TESTBETREFF" $logContent
Grüße Uwe
Bitte warten ..
Mitglied: crackhawk
24.10.2013 um 13:23 Uhr
Vielen Dank für die Antworten, mit dem Powershell Script funktioniert es tatsächlich. Viel einfacher jedoch fand ich dann doch die verwendung von blat.exe mit dem entsprechenden (mir bis gerade eben) unbekannten parameter -bodyF. Ich habe jetzt eine zweizeilige batch Datei angelegt mit der es einwandfrei funktioniert:
@echo off
blat.exe -to empfaenger@provider.de -f absender@provider.de -server smtp.server.de -bodyF logdatei.log -s Betreff
Vielen Dank!
crackhawk
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Exchange Server
gelöst Exchange Server Mail senden (5)

Frage von MorrowToon zum Thema Exchange Server ...

Batch & Shell
gelöst PowerShell, Log Datei auslesen, bei Änderungen E-Mail senden (12)

Frage von swissbull zum Thema Batch & Shell ...

Exchange Server
gelöst Exchange mehrere E-Mail Adressen und Senden Als (7)

Frage von ketanest112 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...