![]() |
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
(PowerBuilder) Insert Email into GMail FolderDirectly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification. Does not send a message. This example will create a Chilkat Email object and upload/insert it into GMail. Then adds the "INBOX" label to the email to make it appear in INBOX Note: This example requires Chilkat v11.0.0 or greater.
integer li_rc integer li_Success oleobject loo_Email oleobject loo_SbMime oleobject loo_Http oleobject loo_Resp string ls_Url oleobject loo_Json string ls_Id oleobject loo_Json2 li_Success = 0 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Email = create oleobject li_rc = loo_Email.ConnectToNewObject("Chilkat.Email") if li_rc < 0 then destroy loo_Email MessageBox("Error","Connecting to COM object failed") return end if // This example chooses to load an email from a file. li_Success = loo_Email.LoadEml("qa_data/eml/testEmail.eml") if li_Success = 0 then Write-Debug loo_Email.LastErrorText destroy loo_Email return end if // Get the email as MIME. loo_SbMime = create oleobject li_rc = loo_SbMime.ConnectToNewObject("Chilkat.StringBuilder") loo_Email.GetMimeSb(loo_SbMime) loo_Http = create oleobject li_rc = loo_Http.ConnectToNewObject("Chilkat.Http") loo_Resp = create oleobject li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse") loo_Http.AuthToken = "GMAIL-ACCESS-TOKEN" // Upload to GMail (does not send, but just inserts). // IMPORTANT: After uploading/inserting, you won't see the message in the Inbox. // In your web browser, if you go to "All Mail", you will see it. ls_Url = "https://www.googleapis.com/upload/gmail/v1/users/me/messages?uploadType=media" loo_Http.UncommonOptions = "SendGzipped" li_Success = loo_Http.HttpSb("POST",ls_Url,loo_SbMime,"utf-8","message/rfc822",loo_Resp) if li_Success = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Email destroy loo_SbMime destroy loo_Http destroy loo_Resp return end if loo_Http.UncommonOptions = "" // A status code of 200 indicates success. Write-Debug "Response status code: " + string(loo_Resp.StatusCode) Write-Debug "Response body:" Write-Debug loo_Resp.BodyStr // The response body contains JSON. // A sample successful JSON response: // { // "id": "166f583051d36144", // "threadId": "166f5529e079a456" // } loo_Json = create oleobject li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") loo_Json.Load(loo_Resp.BodyStr) ls_Id = loo_Json.StringOf("id") // Add the Inbox label to the inserted email so that it appears in Inbox. Write-Debug "---- Adding the Inbox label to the newly inserted email. ----" // Create the following JSON to be sent in a POST to modify labels for this message. // { // "addLabelIds": [ // "INBOX" // ] // } loo_Json2 = create oleobject li_rc = loo_Json2.ConnectToNewObject("Chilkat.JsonObject") loo_Json2.UpdateString("addLabelIds[0]","INBOX") loo_Http.SetUrlVar("id",ls_Id) ls_Url = "https://www.googleapis.com/gmail/v1/users/me/messages/{$id}/modify" li_Success = loo_Http.HttpJson("POST",ls_Url,loo_Json2,"application/json",loo_Resp) if li_Success = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Email destroy loo_SbMime destroy loo_Http destroy loo_Resp destroy loo_Json destroy loo_Json2 return end if // A status code of 200 indicates success. Write-Debug "Response status code: " + string(loo_Resp.StatusCode) Write-Debug "Response body:" Write-Debug loo_Resp.BodyStr // The response body contains JSON. // A sample successful JSON response: // { // "id": "166f583051d36144", // "threadId": "166f583051d36144", // "labelIds": [ // "INBOX" // ] // } destroy loo_Email destroy loo_SbMime destroy loo_Http destroy loo_Resp destroy loo_Json destroy loo_Json2 |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.