|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Classic ASP) IMAP Read PEC Email of Aruba and Extract the Invoice XML FilesIMAP Read PEC Email of Aruba and Extract the Invoice XML Files. Note: This example requires Chilkat v11.0.0 or greater. 
 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% success = 0 ' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. set imap = Server.CreateObject("Chilkat.Imap") ' Connect using TLS. imap.Ssl = 1 imap.Port = 993 success = imap.Connect("imap.example.com") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( imap.LastErrorText) & "</pre>" Response.End End If ' Authenticate success = imap.Login("email_account_login","email_account_password") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( imap.LastErrorText) & "</pre>" Response.End End If ' Select an IMAP mailbox success = imap.SelectMailbox("Inbox/postacert") If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( imap.LastErrorText) & "</pre>" Response.End End If ' Search for messages having "POSTA CERTIFICATA: Invio File" in the subject. fetchUids = 1 set messageSet = Server.CreateObject("Chilkat.MessageSet") success = imap.QueryMbx("SUBJECT ""POSTA CERTIFICATA: Invio File""",fetchUids,messageSet) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( imap.LastErrorText) & "</pre>" Response.End End If If (messageSet.Count < 1) Then Response.Write "<pre>" & Server.HTMLEncode( "No messages found.") & "</pre>" Response.End End If ' For our example, we'll process only the 1st email in the messageSet. ' Download the MIME source of the email into a StringBuilder object. set email = Server.CreateObject("Chilkat.Email") success = imap.FetchEmail(0,messageSet.GetId(0),messageSet.HasUids,email) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( imap.LastErrorText) & "</pre>" Response.End End If ' The email should contain an attached email. ' The Invoice XML is contained within the attached email. set attachedEmail = Server.CreateObject("Chilkat.Email") success = email.GetAttachedEmail(0,attachedEmail) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( email.LastErrorText) & "</pre>" Response.End End If ' Get the MIME of the attached email.. set sbMime = Server.CreateObject("Chilkat.StringBuilder") success = attachedEmail.GetMimeSb(sbMime) ' Load it into a Chilkat MIME object. set mime = Server.CreateObject("Chilkat.Mime") success = mime.LoadMimeSb(sbMime) ' Examine the structure of the MIME. Response.Write "<pre>" & Server.HTMLEncode( mime.GetStructure("text")) & "</pre>" ' The MIME has this structure: ' multipart/mixed ' application/octet-stream ' application/octet-stream <-- This is where the XML is contained. It is within an opaque signature. ' text/plain ' The 2nd application/octet-stream MIME header looks like this: ' ------=_Part_329673_-1348225228.1579889273592 ' Content-Type: application/octet-stream; name="SM99999_99aaa.xml.p7m" ' Content-Transfer-Encoding: base64 ' Content-Disposition: attachment; filename="SM99999_99aaa.xml.p7m" ' Let's get the binary content of the .p7m set bdP7m = Server.CreateObject("Chilkat.BinData") ' Get the 2nd sub-part, at index 1 because index 0 is the 1st sub-part. set mimeP7m = Server.CreateObject("Chilkat.Mime") success = mime.PartAt(1,mimeP7m) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( mime.LastErrorText) & "</pre>" Response.End End If If (mime.LastMethodSuccess <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( "Failed to get 2nd sub-part. Perhaps the MIME does not have a 2nd sub-part?") & "</pre>" Response.End End If success = mimeP7m.GetBodyBd(bdP7m) ' Verify the signature, which also extracts the content contained within the opaque signature. set crypt = Server.CreateObject("Chilkat.Crypt2") success = crypt.OpaqueVerifyBd(bdP7m) If (success = 0) Then Response.Write "<pre>" & Server.HTMLEncode( crypt.LastErrorText) & "</pre>" Response.End End If ' The bdP7m now contains the Invoice XML. ' Load it into an XML object. set xml = Server.CreateObject("Chilkat.Xml") success = xml.LoadBd(bdP7m,1) Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>" ' We have XML such as the following: ' ' <?xml version="1.0" encoding="windows-1252"?> ' <?xml-stylesheet type="text/xsl" href="fatturapa_v1.2.xsl"?> ' <p:FatturaElettronica versione="FPR12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" ' xmlns:p="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> ' <FatturaElettronicaHeader> ' ... ' </FatturaElettronicaHeader> ' <FatturaElettronicaBody> ' ... ' </FatturaElettronicaBody> ' </p:FatturaElettronica> ' Use this online tool to generate parsing code from sample XML: ' Generate Parsing Code from XML Response.Write "<pre>" & Server.HTMLEncode( "success.") & "</pre>" %> </body> </html> | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.