Sample code for 30+ languages & platforms
PowerShell

MedTunnel: Get Message Attachment

See more MedTunnel Examples

Get a specific attachment of a message. The MessageId and AttachmentId are obtained from the "Get Mailbox Messages" example.

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = New-Object Chilkat.Http

# Implements the following CURL command:

# curl -X GET -k 
#         -H "Authorization:PutAuthorizationTokenHere" 
#         https://server.medtunnel.com/medtunnelmsg/api/Message/GetAttachment?messageid=989448&attachmentid=424857&setreadflag=false

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

$http.SetRequestHeader("Authorization","PutAuthorizationTokenHere")

# The messageId and attachmentId are contained in the response from reading the mailbox messages.
$http.SetUrlVar("messageId","989448")
$http.SetUrlVar("attachmentId","424857")
$http.SetUrlVar("setReadFlag","false")

# Download the attachment data into bd.
$bd = New-Object Chilkat.BinData
$success = $http.QuickGetBd("https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}",$bd)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

$respStatusCode = $http.LastStatus
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
    $("Response Header:")
    $($http.LastHeader)
    # For errors, the response body contains an error message instead of the actual attachment data.
    $("Response Body:")
    $($bd.GetString("utf-8"))
    $("Failed.")
    exit
}

# Save the attachment data.
# The attachment filename is also contained in the response from reading the mailbox messages.
$success = $bd.WriteFile("qa_output/starfish.jpg")
if ($success -ne $true) {
    $("Failed to save attachment file.")
}
else {
    $("Success.")
}