Hallo.
Wie bekomme ich folgende Informationen fest in den Body einer Email.
Bis dato lasse ich es über eine Textdatei an die Email anhängen, aber ich möchte die Informationen in der Email, da man es dann ja auch weiter über Filter bearbeiten / filtern kann.
Spoiler anzeigen
#include <inet.au3>
#Include <file.au3>
;##################################
; Variables
;##################################
$s_SmtpServer = "smtp.alice-dsl.net" ; smtp vom sendeserver
$s_FromName = ""***********@alice-dsl.net" ; der anmeldename
$s_FromAddress = ""***********@alice-dsl.net" ; die angemeldete emailadresse
$s_ToAddress = ""***********@alice-dsl.net" ; emailadresse an wen es gehen soll
$s_Subject = _GetIP() ; das betreff <-------------------- IP des PC's von dem gesendet wird
$file = @SystemDir & "\info.txt"
$fh = FileOpen($file, 0)
$as_Body = FileRead($fh) ; text im body <-------------------- Inhalt der 5 Zeiligen Datei
FileClose($fh)
$s_AttachFiles = @SystemDir & "\info.txt" ; anhang <-------------------- @SystemDir & "\info.txt"
$s_CcAddress = "" ; adresse für cc
$s_BccAddress = "" ; aadresse für bcc
$s_Username = "***********@alice-dsl.net" ; username von dem gesendet werden soll
$s_Password = "***********" ; passwort von dem sendekonto gebe ich eigentlich an
;~ $IPPort=25 ; port - 25 oder 465 ; PORT 25 ist default
;~ $ssl=0 ; enables/disables ssl sonst 0 oder 1 ; 0 ist default
;##################################
; Script
;##################################
Global $oMyRet[2]
Global $oMyError = ObjEvent("Error", "ErrFunc")
$rc = _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $s_AttachFiles, $s_CcAddress, $s_BccAddress, $s_Username, $s_Password);, $IPPort, $ssl)
If @error then
msgbox(0,"Error sending message","Error code:" & @error & " Description:" & $rc)
EndIf
#ce
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", _
$s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Username = "", $s_Password = "",$IPPort=25, $ssl=0)
$objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body,"<") and StringInStr($as_Body,">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull ($S_Files2Attach[$x])
If FileExists($S_Files2Attach[$x]) Then
$objEmail.AddAttachment ($S_Files2Attach[$x])
Else
$i_Error_desciption = $i_Error_desciption & @lf & 'File not found to attach: ' & $S_Files2Attach[$x]
SetError(1)
return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
;Authenticated SMTP
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $Ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
;Update settings
$objEmail.Configuration.Fields.Update
; Sent the Message
$objEmail.Send
if @error then
SetError(2)
return $oMyRet[1]
EndIf
EndFunc ;==>_INetSmtpMailCom
; Com Error Handler
Func MyErrFunc()
$HexNumber = Hex($oMyError.number,
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description,3)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1); something to check for when this function returns
Return
EndFunc ;==>MyErrFunc
Diese Angaben sollen dann im Body stehen:
a) der Computername
b) die lokale IP des Computers
c) die IP-Adresse die der PC, bzw. im Netzwerk der Router, beim Provider erhält
d) Providername
e) die MAC-Adresse der Netzwerkkarte
f) Datum und Zeit
LG, L I N A.
P. S. Endlich Wochenende und Lehrgang erfolgreich bestanden !