Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Send GMail with AttachmentsDemonstrates how to send an email containing attachments using the GMail REST API.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. # Use the Chilkat Email API to create or load an email. set email [new_CkEmail] # The From name/address don't need to be specified. # GMail will automatically use your Gmail address if the following 2 lines are omitted. CkEmail_put_FromName $email "My Name" CkEmail_put_FromAddress $email "my_account_name@gmail.com" CkEmail_AddTo $email "John Smith" "somebody@somewhere.com" # To add more recipients, make additional calls to AddTo or AddCC, one per recipient... CkEmail_put_Subject $email "This is a test GMail email created using Chilkat." CkEmail_put_Charset $email "utf-8" CkEmail_AddPlainTextAlternativeBody $email "This is a test" # Create an HTML email body with an embedded image. set cid [CkEmail_addRelatedFile $email "qa_data/jpg/starfish.jpg"] set sbHtml [new_CkStringBuilder] CkStringBuilder_Append $sbHtml "<html><body>This is a <b>test</b><br><img src=\"cid:STARFISH_CID\"/></body></html>" set numReplacements [CkStringBuilder_Replace $sbHtml "STARFISH_CID" $cid] CkEmail_AddHtmlAlternativeBody $email [CkStringBuilder_getAsString $sbHtml] # Add some attachments.. set mimeType [CkEmail_addFileAttachment $email "qa_data/helloWorld.pdf"] if {[CkEmail_get_LastMethodSuccess $email] != 1} then { puts "Failed to add PDF attachment." delete_CkEmail $email delete_CkStringBuilder $sbHtml exit } set mimeType [CkEmail_addFileAttachment $email "qa_data/msword/sample2.docx"] if {[CkEmail_get_LastMethodSuccess $email] != 1} then { puts "Failed to add MS-Word attachment." delete_CkEmail $email delete_CkStringBuilder $sbHtml exit } # OK.. we now have an HTML email with 2 attachments.. set sbMime [new_CkStringBuilder] CkEmail_GetMimeSb $email $sbMime # Send the email. (GMail has a 5MB limit on the total email size.) set http [new_CkHttp] CkHttp_put_AuthToken $http "GMAIL-ACCESS-TOKEN" # Send using the simple upload request for the Gmail API set url "https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=media" set sendGzipped 1 # resp is a CkHttpResponse set resp [CkHttp_PTextSb $http "POST" $url $sbMime "utf-8" "message/rfc822" 0 $sendGzipped] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkEmail $email delete_CkStringBuilder $sbHtml delete_CkStringBuilder $sbMime delete_CkHttp $http exit } # A status code of 200 indicates success. puts "Response status code: [CkHttpResponse_get_StatusCode $resp]" puts "Response body:" puts [CkHttpResponse_bodyStr $resp] delete_CkHttpResponse $resp # The response body contains JSON. # Use the online tool at Generate JSON Parsing Code # to generate JSON parsing code. # A sample successful JSON response: # { # "id": "166f0d4ac39e50bf", # "threadId": "166f0d4ac39e50bf", # "labelIds": [ # "SENT" # ] # } delete_CkEmail $email delete_CkStringBuilder $sbHtml delete_CkStringBuilder $sbMime delete_CkHttp $http |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.