Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Parse Get Email Information from .EML Files EML File Reader SMTPOP class library
;*************************************************************************** ;** EML (Email) File Reader ;** ;** Purpose: Parse Email Information from .EML Files ;** Inputs: ;** Outputs: Results in a reportview. ;** Reference: ;** REQUIRES ;** WinBatch 2013A or newer ;** SMTPOP class library reads and send e-mail from WinBatch ;** SMTPop Download: http://sourceforge.net/projects/dotnetctrlext/files/smtpop.net/SmtPop.Net%20V%200.5a/ ;** SMTPop Documentation: http://dotnetctrlext.sourceforge.net/ ;** http://dotnetctrlext.sourceforge.net/doc/index.html ;** ;** Developer: Deana Falk 2014.05.21 ;*************************************************************************** If Version( )< '2013A' Pause('Notice', 'Need 2013A or Newer Version of WinBatch') Exit EndIf assemblydir = 'C:\WWW\__SCRIPT LIBRARY\DotNet\SMTPOP\smtpop_bin_0.5.1.33667' ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Load assemblies into the WinBatch process. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If !DirExist(assemblydir) Pause('','') Exit EndIf ObjectClrOption('appbase',assemblydir) ObjectClrOption ('use','smtpop, Version=0.5.1.33667, Culture=neutral, PublicKeyToken=null') #DefineFunction udfConvertList(objectList, property) proplist = '' cnt = objectList.Count For x = 0 To cnt-1 obj = objectList.Item(x) prop = obj.%property%() If prop == '' Then Continue If proplist == "" Then proplist = prop Else proplist = proplist:"|":prop Next Return proplist #EndFunction ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Inputs ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ eml = 'C:\TEMP\27C603F7-00000E67.eml' ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ; Create a class implemented by a managed assembly. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Encoding = ObjectClrNew( 'System.Text.Encoding' ) StreamReader = ObjectClrNew("System.IO.StreamReader", eml, Encoding.ASCII) MimeMessage = ObjectClrNew( 'SmtPop.MimeMessage') MimeMessage.Read(StreamReader) arrEmailData = ArrDimension(17,2) AddressBCC = MimeMessage.AddressBCC ;The BCC: adress list AddressBCCList = udfConvertList(AddressBCC, 'Src') arrEmailData[0,0] = 'AddressBCC' arrEmailData[0,1] = AddressBCCList AddressCC = MimeMessage.AddressCC ;The CC: address list AddressCCList = udfConvertList(AddressCC, 'Src') arrEmailData[1,0] = 'AddressCC' arrEmailData[1,1] = AddressCCList AddressFrom = MimeMessage.AddressFrom ;The From: address list AddressFromList = udfConvertList(AddressFrom, 'Src') arrEmailData[2,0] = 'AddressFrom' arrEmailData[2,1] = AddressFromList AddressSender = MimeMessage.AddressSender; The Sender: address AddressSenderSrc = AddressSender.Src arrEmailData[3,0] = 'AddressSender' arrEmailData[3,1] = AddressSenderSrc AddressTo = MimeMessage.AddressTo ;The To: address list AddressToList = udfConvertList(AddressTo, "Src") arrEmailData[4,0] = 'AddressTo' arrEmailData[4,1] = AddressToList Attachments = MimeMessage.Attachments ;Attachment list AttachmentsList = udfConvertList(Attachments, "Filename") arrEmailData[5,0] = 'Attachments' arrEmailData[5,1] = AttachmentsList Body = MimeMessage.Body ;The message body arrEmailData[6,0] = 'Body' arrEmailData[6,1] = Body ContentTransferEncoding = MimeMessage.ContentTransferEncoding ;Gets or sets the "Content-Transfer-Encoding" header field arrEmailData[7,0] = 'ContentTransferEncoding' arrEmailData[7,1] = ContentTransferEncoding HeaderContentType = MimeMessage.HeaderContentType ;Gets or sets the "Content-Type" header field arrEmailData[8,0] = 'HeaderContentType' arrEmailData[8,1] = HeaderContentType HeaderFrom = MimeMessage.HeaderFrom ;Gets or sets the "From" header field arrEmailData[9,0] = 'HeaderFrom' arrEmailData[9,1] = HeaderFrom HeaderMessageId = MimeMessage.HeaderMessageId ;Gets or sets the "Message-ID" header field arrEmailData[10,0] = 'HeaderMessageId' arrEmailData[10,1] = HeaderMessageId Headers = MimeMessage.Headers ;Message header array HeadersXMailer = Headers.Item('X-Mailer') arrEmailData[11,0] = 'X-Mailer' arrEmailData[11,1] = HeadersXMailer HeaderSubject = MimeMessage.HeaderSubject ;Gets or sets the "Subject" header field arrEmailData[12,0] = 'HeaderSubject' arrEmailData[12,1] = HeaderSubject HeaderTo = MimeMessage.HeaderTo ;Gets or sets the "To" header field. arrEmailData[13,0] = 'HeaderTo' arrEmailData[13,1] = HeaderTo LinesTreated = MimeMessage.LinesTreated ;The number of text lines decoded to create the message arrEmailData[14,0] = 'LinesTreated' arrEmailData[14,1] = LinesTreated Multipart = MimeMessage.Multipart ;Return / set the multipart flag arrEmailData[15,0] = 'Multipart' arrEmailData[15,1] = Multipart Subject = MimeMessage.Subject ;The message subject arrEmailData[16,0] = 'Subject' arrEmailData[16,1] = Subject ; Display in WIL Dialogs Reportview Control MyDialogFormat=`WWWDLGED,6.2` MyDialogCaption=` EML (Email) File Reader` MyDialogX=002 MyDialogY=059 MyDialogWidth=766 MyDialogHeight=353 MyDialogNumControls=003 MyDialogProcedure=`DEFAULT` MyDialogFont=`DEFAULT` MyDialogTextColor=`DEFAULT` MyDialogBackground=`DEFAULT,DEFAULT` MyDialogConfig=0 MyDialog001=`231,333,036,012,PUSHBUTTON,"PushButton_OK",DEFAULT,"OK",1,10,32,DEFAULT,DEFAULT,DEFAULT` MyDialog002=`499,333,036,012,PUSHBUTTON,"PushButton_Cancel",DEFAULT,"Cancel",0,20,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog003=`001,001,758,322,REPORTVIEW,"ReportView_1",arrEmailData,DEFAULT,DEFAULT,30,2097152,DEFAULT,DEFAULT,"192|192|192"` ButtonPushed=Dialog("MyDialog") Exit
Article ID: W17857
Filename: Parse EML File.txt
File Created: 2014:05:22:10:40:42
Last Updated: 2014:05:22:10:40:42