Sample code for 30+ languages & platforms
Dart

SendGrid Hello World -- Send Simple Email to Single Recipient

See more SendGrid Examples

Sends an email to a single recipient using SendGrid.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  // 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!"
  //     }
  //   ]
  // }

  final json = CkJsonObject();
  json.updateString('personalizations[0].to[0].email', 'recipient@example.com');
  // The "name" is optional.
  json.updateString('personalizations[0].to[0].name', 'Recipient Name');
  json.updateString('from.email', 'sendeexampexample@example.com');
  json.updateString('subject', 'Hello, World!');
  json.updateString('content[0].type', 'text/plain');
  json.updateString('content[0].value', 'Heya!');

  // Adds the "Authorization: Bearer YOUR_API_KEY" header.
  http.authToken = 'YOUR_API_KEY';

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://api.sendgrid.com/v3/mail/send', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  if (!http.lastMethodSuccess) {
    print(http.lastErrorText);
  } else {
    print('response status code: ${resp.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.)
    print(resp.bodyStr);
  }
}