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, 4350 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 ..
Ähnliche Inhalte
LAN, WAN, Wireless
gelöst Pfsense lässt E-Mail senden nicht zu (7)

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

Batch & Shell
gelöst Bash Mail senden (7)

Frage von Marabunta zum Thema Batch & Shell ...

Batch & Shell
gelöst Nach PDF suchen und aktuelle per Mail senden (15)

Frage von michi-ffm zum Thema Batch & Shell ...

Outlook & Mail
gelöst Thunderbird Senden an E-Mail-Empfänger (3)

Frage von DasWombat1993 zum Thema Outlook & Mail ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (18)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...