|  | 
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
| (PowerShell) Outlook Send Email using MIME FormatSee more Outlook ExamplesThis example sends an email using MIME format via the Microsoft Graph Outlook REST API.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0&tabs=http#example-4-send-a-new-message-using-mime-format 
 Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll" $success = $false # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = New-Object Chilkat.Http # Use your previously obtained access token here: # See the following examples for getting an access token: # Get Microsoft Graph OAuth2 Access Token (Azure AD v2.0 Endpoint). # Get Microsoft Graph OAuth2 Access Token (Azure AD Endpoint). # Refresh Access Token (Azure AD v2.0 Endpoint). # Refresh Access Token (Azure AD Endpoint). $jsonToken = New-Object Chilkat.JsonObject $success = $jsonToken.LoadFile("qa_data/tokens/microsoftGraph.json") if ($success -eq $false) { $($jsonToken.LastErrorText) exit } $http.AuthToken = $jsonToken.StringOf("access_token") # To send email, we'll POST to the following endpoint: # # POST /users/{id | userPrincipalName}/sendMail # # (The special keyword "me" may be used in place of a principal name.) # # The body of the POST request will contain the MIME source of the email in base64 format. # Create a new email object $email = New-Object Chilkat.Email $email.Subject = "Test Outlook API to Send HTML Email with Attachments" $email.From = "Mary <mary@somewhere.com>" $email.AddTo("Joe","joe@example.com") # Add a plain-text alternative body, which will likely never be seen. # (It is shown if the receiving email client is incapable of displaying HTML email.) $email.AddPlainTextAlternativeBody("This is a plain-text alternative body...") # Our HTML will include an image, so add the related image here. $contentIdStarfish = $email.AddRelatedFile("qa_data/jpg/starfish.jpg") if ($email.LastMethodSuccess -eq $false) { $($email.LastErrorText) exit } # The src attribute for the image tag is set to the contentIdStarfish: $sbHtml = New-Object Chilkat.StringBuilder $sbHtml.Append("<html><body><p>This is an HTML email with an embedded image.</p>") $sbHtml.Append("<p><img src=`"cid:CONTENT_ID_STARFISH`" /></p></body></html>") $numReplacements = $sbHtml.Replace("CONTENT_ID_STARFISH",$contentIdStarfish) $email.AddHtmlAlternativeBody($sbHtml.GetAsString()) # Finally, add some attachments to the email. # Add a file attachment. $success = $email.AddFileAttachment2("qa_data/pdf/fishing.pdf","application/pdf") if ($success -eq $false) { $($email.LastErrorText) exit } # Add an attachment where the content is contained in a string. $content = "This is the content of the 2nd attached file." $email.AddStringAttachment("someText.txt",$content) # Get the email as multi-line base64.. $bdMime = New-Object Chilkat.BinData $email.GetMimeBd($bdMime) # Now get it as multi-line base64 $sbBase64 = New-Object Chilkat.StringBuilder $bdMime.GetEncodedSb("base64_mime",$sbBase64) # Send the HTTP POST (i.e. send the email) $resp = New-Object Chilkat.HttpResponse $success = $http.HttpSb("POST","https://graph.microsoft.com/v1.0/me/sendMail",$sbBase64,"utf-8","text/plain",$resp) if ($success -eq $false) { $($http.LastErrorText) exit } # The send succeeded if the response status code = 202. # In the success case, there is no response body. (We just get the response code to know that it succeeded.) if ($resp.StatusCode -ne 202) { $json = New-Object Chilkat.JsonObject $json.Load($resp.BodyStr) $json.EmitCompact = $false $($json.Emit()) $("Failed, response status code = " + $resp.StatusCode) } else { $("Outlook Mail Sent.") } | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.