Sample code for 30+ languages & platforms
Xbase++

SendGrid Send Email with Additional BCC Recipient

See more SendGrid Examples

Sends an email to a recipient, but also with an additional BCC recipient.

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")

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

//  {
//    "personalizations": [
//      {
//        "to": [
//          {
//            "email": "recipient@example.com"
//          }
//        ]
//        "bcc": [
//          {
//            "email": "recipient2@example2.com"
//          }
//        ]
//      }
//    ],
//    "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")
oJson:UpdateString("personalizations[0].bcc[0].email", "recipient2@example2.com")
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()