Sample code for 30+ languages & platforms
Xbase++

SendGrid Hello World -- Send Simple Email to Single Recipient

See more SendGrid Examples

Sends an email to a single recipient using SendGrid.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL oResp

nSuccess := 0

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

oHttp := CreateObject("Chilkat.Http")

//  Implements the following CURL command:

//  curl --request POST \
//    --url https://api.sendgrid.com/v3/mail/send \
//    --header 'Authorization: Bearer YOUR_API_KEY' \
//    --header 'Content-Type: application/json' \
//    --data '{"personalizations": [{"to": [{"email": "recipient@example.com", "name": "Recipient Name"}]}],"from": {"email": "sendeexampexample@example.com"},"subject": "Hello, World!","content": [{"type": "text/plain", "value": "Heya!"}]}'

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

//  Use this online tool to generate code from sample JSON:
//  Generate Code to Create JSON

//  The following JSON is sent in the request body.

//  {
//    "personalizations": [
//      {
//        "to": [
//          {
//            "email": "recipient@example.com",
//            "name": "Recipient Name"
//          }
//        ]
//      }
//    ],
//    "from": {
//      "email": "sendeexampexample@example.com"
//    },
//    "subject": "Hello, World!",
//    "content": [
//      {
//        "type": "text/plain",
//        "value": "Heya!"
//      }
//    ]
//  }

oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("personalizations[0].to[0].email", "recipient@example.com")
//  The "name" is optional.
oJson:UpdateString("personalizations[0].to[0].name", "Recipient Name")
oJson:UpdateString("from.email", "sendeexampexample@example.com")
oJson:UpdateString("subject", "Hello, World!")
oJson:UpdateString("content[0].type", "text/plain")
oJson:UpdateString("content[0].value", "Heya!")

//  Adds the "Authorization: Bearer YOUR_API_KEY" header.
oHttp:AuthToken := "YOUR_API_KEY"

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://api.sendgrid.com/v3/mail/send", oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    RETURN
ENDIF

IF (oHttp:LastMethodSuccess != 1)
    ? oHttp:LastErrorText
ELSE
    ? "response status code: " + Str(oResp:StatusCode)
    //  Display the response.
    //  If successful, the response code is 202 and the response body string is empty.
    //  (The response body string may also be empty for error response codes.)
    ? oResp:BodyStr
ENDIF

oHttp:destroy()
oJson:destroy()
oResp:destroy()