Sample code for 30+ languages & platforms
Classic ASP

MedTunnel: Send Message with File Attachment

See more MedTunnel Examples

Demonstrates the MedTunnel SendMessage method to send a message with a file attachment to one or more recipients.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

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

set http = Server.CreateObject("Chilkat.Http")

'  Implements the following CURL command:

'  curl https://server.medtunnel.com/MedTunnelMsg/api/Message/SendMessage -X POST -k 
'          -F "ApplicationId=yourApplicationId" -F "LocationId=yourLocationId" 
'          -F "MedTunnelId=yourMedTunnelId" -F "MedTunnelPassword=yourMedTunnelPassword" 
'          -F "To=recipientsMedTunnelId" 
'          -F "Body=Test of SendMessage"
'          -F "file1=@qa_data/jpg/starfish.jpg"

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

set req = Server.CreateObject("Chilkat.HttpRequest")
req.HttpVerb = "POST"
req.Path = "/MedTunnelMsg/api/Message/SendMessage"
req.ContentType = "multipart/form-data"

req.AddParam "ApplicationId","yourApplicationId"
req.AddParam "LocationId","yourLocationId"
req.AddParam "MedTunnelId","yourMedTunnelId"
req.AddParam "MedTunnelPassword","yourMedTunnelPassword"
req.AddParam "To","recipientsMedTunnelId"
req.AddParam "Body","Test"

success = req.AddFileForUpload2("file1","qa_data/jpg/starfish.jpg","application/octet-stream")

req.AddHeader "Expect","100-continue"

set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpSReq("server.medtunnel.com",443,1,req,resp)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

set sbResponseBody = Server.CreateObject("Chilkat.StringBuilder")
success = resp.GetBodySb(sbResponseBody)
set jResp = Server.CreateObject("Chilkat.JsonObject")
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Response.Write "<pre>" & Server.HTMLEncode( "Response Body:") & "</pre>"
Response.Write "<pre>" & Server.HTMLEncode( jResp.Emit()) & "</pre>"

respStatusCode = resp.StatusCode
Response.Write "<pre>" & Server.HTMLEncode( "Response Status Code = " & respStatusCode) & "</pre>"
If (respStatusCode >= 400) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Response Header:") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( resp.Header) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>"
    Response.End
End If

'  Sample JSON response:
'  (Sample code for parsing the JSON response is shown below)

'  {
'    "ReturnCode": 1,
'    "ReturnCodeText": "Success",
'    "Data": "{\"Id\":989432,\"FromUserId\":36990,\"FromMailBoxId\":36965, ... \"SendGlobalNotifications\":false}"
'  }

'  Sample code for parsing the JSON response...
'  Use the following online tool to generate parsing code from sample JSON:
'  Generate Parsing Code from JSON

ReturnCode = jResp.IntOf("ReturnCode")
ReturnCodeText = jResp.StringOf("ReturnCodeText")
Data = jResp.StringOf("Data")

'  Load the Data into another JSON object and parse..
set jsonData = Server.CreateObject("Chilkat.JsonObject")
success = jsonData.Load(Data)
jsonData.EmitCompact = 0
Response.Write "<pre>" & Server.HTMLEncode( jsonData.Emit()) & "</pre>"

'  {
'    "Id": 989448,
'    "FromUserId": 36990,
'    "FromMailBoxId": 36965,
'    "FromUserType": 0,
'    "FromUserName": "...",
'    "FromUserFullName": "...",
'    "FromUserAccountName": "...",
'    "FromUserAccountTitle": "...",
'    "ToUserId": 36990,
'    "ToUserType": 1,
'    "ToUserMailboxId": "36965",
'    "ToUserName": "...",
'    "ToUserFullName": "...",
'    "EmailAddress": "",
'    "Password": "",
'    "Subject": "",
'    "PatientMedTunnelId": "",
'    "Body": "Test",
'    "DateReceived": "4/29/2021 2:48:22 PM",
'    "DisplayDateReceived": "04/29/2021  2:48 PM",
'    "ViewCount": 0,
'    "ViewedOn": "",
'    "AttachmentCount": 1,
'    "AttachmentNames": [
'      {
'        "MessageId": 989448,
'        "Id": 424857,
'        "Name": "starfish.jpg.35910fe9-4118-414c-a845-4d092ca6e784",
'        "DisplayName": "starfish.jpg",
'        "Size": 6229,
'        "WasViewed": false,
'        "ViewedOn": "",
'        "ViewCount": 0,
'        "Location": "Default"
'      }
'    ],
'    "AllRecipients": [
'      {
'        "Id": 989448,
'        "UserName": "...",
'        "AccountId": 0,
'        "AccountName": "...",
'        "AccountTitle": "",
'        "FirstName": "...",
'        "LastName": "...",
'        "EmailAddress": "",
'        "LastSentOn": "",
'        "SendCount": 0,
'        "IsFavorite": false
'      }
'    ],
'    "Status": 0,
'    "ParentMessageId": 989448,
'    "DistributionListId": 0,
'    "DistributionListName": "",
'    "BodyHistory": "",
'    "ReadReceiptCallbackUrl": null,
'    "SendGlobalNotifications": false
'  }

Id = jsonData.IntOf("Id")
FromUserId = jsonData.IntOf("FromUserId")
FromMailBoxId = jsonData.IntOf("FromMailBoxId")
FromUserType = jsonData.IntOf("FromUserType")
FromUserName = jsonData.StringOf("FromUserName")
FromUserFullName = jsonData.StringOf("FromUserFullName")
FromUserAccountName = jsonData.StringOf("FromUserAccountName")
FromUserAccountTitle = jsonData.StringOf("FromUserAccountTitle")
ToUserId = jsonData.IntOf("ToUserId")
ToUserType = jsonData.IntOf("ToUserType")
ToUserMailboxId = jsonData.StringOf("ToUserMailboxId")
ToUserName = jsonData.StringOf("ToUserName")
ToUserFullName = jsonData.StringOf("ToUserFullName")
EmailAddress = jsonData.StringOf("EmailAddress")
Password = jsonData.StringOf("Password")
Subject = jsonData.StringOf("Subject")
PatientMedTunnelId = jsonData.StringOf("PatientMedTunnelId")
Body = jsonData.StringOf("Body")
DateReceived = jsonData.StringOf("DateReceived")
DisplayDateReceived = jsonData.StringOf("DisplayDateReceived")
ViewCount = jsonData.IntOf("ViewCount")
ViewedOn = jsonData.StringOf("ViewedOn")
AttachmentCount = jsonData.IntOf("AttachmentCount")
Status = jsonData.IntOf("Status")
ParentMessageId = jsonData.IntOf("ParentMessageId")
DistributionListId = jsonData.IntOf("DistributionListId")
DistributionListName = jsonData.StringOf("DistributionListName")
BodyHistory = jsonData.StringOf("BodyHistory")
ReadReceiptCallbackUrl = jsonData.StringOf("ReadReceiptCallbackUrl")
SendGlobalNotifications = jsonData.BoolOf("SendGlobalNotifications")
i = 0
count_i = jsonData.SizeOfArray("AttachmentNames")
Do While i < count_i
    jsonData.I = i
    MessageId = jsonData.IntOf("AttachmentNames[i].MessageId")
    Id = jsonData.IntOf("AttachmentNames[i].Id")
    Name = jsonData.StringOf("AttachmentNames[i].Name")
    DisplayName = jsonData.StringOf("AttachmentNames[i].DisplayName")
    Size = jsonData.IntOf("AttachmentNames[i].Size")
    WasViewed = jsonData.BoolOf("AttachmentNames[i].WasViewed")
    ViewedOn = jsonData.StringOf("AttachmentNames[i].ViewedOn")
    ViewCount = jsonData.IntOf("AttachmentNames[i].ViewCount")
    Location = jsonData.StringOf("AttachmentNames[i].Location")
    i = i + 1
Loop
i = 0
count_i = jsonData.SizeOfArray("AllRecipients")
Do While i < count_i
    jsonData.I = i
    Id = jsonData.IntOf("AllRecipients[i].Id")
    UserName = jsonData.StringOf("AllRecipients[i].UserName")
    AccountId = jsonData.IntOf("AllRecipients[i].AccountId")
    AccountName = jsonData.StringOf("AllRecipients[i].AccountName")
    AccountTitle = jsonData.StringOf("AllRecipients[i].AccountTitle")
    FirstName = jsonData.StringOf("AllRecipients[i].FirstName")
    LastName = jsonData.StringOf("AllRecipients[i].LastName")
    EmailAddress = jsonData.StringOf("AllRecipients[i].EmailAddress")
    LastSentOn = jsonData.StringOf("AllRecipients[i].LastSentOn")
    SendCount = jsonData.IntOf("AllRecipients[i].SendCount")
    IsFavorite = jsonData.BoolOf("AllRecipients[i].IsFavorite")
    i = i + 1
Loop

%>
</body>
</html>