Hallo zusammen,
ich benötige Hilfe beim Auslesen von E-Mails.
Anbei meine bisherige Funktion:
Spoiler anzeigen
AutoIt
Func _m_readMails_getData($oOutlook, $oNamespace, $oItem, $Postfach, $Folder)
Local $hFile, $aFolder
Local $aDocuments[1]
;----------------------------------------------------------------------------------------------/
; Body auslesenund als .txt speichern
;----------------------------------------------------------------------------------------------/
$Body = $oItem.Body
$hFile = FileOpen($Daten('Speicherort') & 'Body.txt', 10)
FileWrite($hFile, $Body)
FileClose($hFile)
$aDocuments[0] = $Daten('Speicherort') & 'Body.txt'
$Daten('Mailtext', $Body, 'set')
;----------------------------------------------------------------------------------------------/
; Folder-Object auslesen
;----------------------------------------------------------------------------------------------/
$aFolder = _OL_FolderAccess($oOutlook, $Postfach & '\' & $Folder)
;----------------------------------------------------------------------------------------------/
; EntryID auslesen
;----------------------------------------------------------------------------------------------/
$Daten('EntryID', $oItem.EntryID, 'set')
;----------------------------------------------------------------------------------------------/
; Betreff
;----------------------------------------------------------------------------------------------/
$Daten('Betreff', $oItem.Subject, 'set')
;----------------------------------------------------------------------------------------------/
; Prüfung, ob eine Mailretoure vorliegt
;----------------------------------------------------------------------------------------------/
If StringInStr($Daten('Betreff'), 'Unzustellbar') Then
; Empfänger Mail-Adresse auslesen
; Eingangsdatum auslesen
Else
;----------------------------------------------------------------------------------------------/
; Eingangsdatum
;----------------------------------------------------------------------------------------------/
$Eingangsdatum = StringRegExpReplace($oItem.ReceivedTime, '\A(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\z', '$1-$2-$3 $4:$5:$6')
$Daten('Eingangsdatum', $Eingangsdatum, 'set')
;----------------------------------------------------------------------------------------------/
; Absender
;----------------------------------------------------------------------------------------------/
$Daten('Absender', $oItem.SenderEmailAddress, 'set')
EndIf
;----------------------------------------------------------------------------------------------/
; Falls Anhänge vorhanden sind, werden diese gespeichert
;----------------------------------------------------------------------------------------------/
$aAnhaenge = _OL_ItemAttachmentGet($oOutlook, $oItem,$aFolder[1])
If Not @Error Then
For $i = 1 To $aAnhaenge[0][0]
$resSave = _OL_ItemAttachmentSave($oOutlook,$oItem,$aFolder[1],$i,$Daten('Speicherort'))
$Dateipfad = $Daten('Speicherort') & StringRegExpReplace($aAnhaenge[$i][2], '[ \/:*?"<>|]', '_') ;Dateinamen werden entsprechend der OutlookEX.au3 abgeändert
Redim $aDocuments[UBound($aDocuments)+1]
$aDocuments[$i] = $Dateipfad
Next
EndIf
Return $aDocuments
EndFunc ;<==/m_readMails_getData
Alles anzeigen
Falls eine Mail unzustellbar ist, kann ich diese Rückmeldung nicht korrekt auslesen. (siehe Anhang)
Wie muss ich den Body auslesen, damit ich mir die Empfänger-Adresse und das Eingangsdatum der Mailretoure mit StringRegEx ziehen kann?
Viele Grüße
Espyre