Sample code for 30+ languages & platforms
Dart

Mailgun Send Simple Email

See more Mailgun Examples

Send a simple email using Mailgun.

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 -s --user 'api:SENDING_API_KEY' \
  // 	 https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
  // 	 -F from='Your Name <mailgun@YOUR_DOMAIN_NAME>' \
  // 	 -F to='Joe Example <joe@example.com>' \
  // 	 -F subject='Hello Joe Example' \
  // 	 -F text='Congratulations Joe Example, you just sent an email with Mailgun!  You are truly awesome!'

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

  http.login = 'api';
  http.password = 'sending_api_key';  // Replace with your actual sending API key.

  final req = CkHttpRequest();
  req.httpVerb = 'POST';
  req.path = '/v3/YOUR_DOMAIN_NAME/messages';
  req.contentType = 'multipart/form-data';

  // Change YOUR_DOMAIN_NAME to something like "mg.your-domain.com".
  req.addParam('from', 'Your Name <mailgun@YOUR_DOMAIN_NAME>');
  req.addParam('to', 'Joe Example <joe@example.com>');
  req.addParam('subject', 'Hello Joe Example');
  req.addParam('text', 'Congratulations Joe Example, you just sent an email with Mailgun!  You are truly awesome!');

  final resp = CkHttpResponse();
  try {
    http.httpSReq('api.mailgun.net', 443, true, req, resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('Failed.');
    return;
  }

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

  // {
  //   "id": "<20210429234809.1.2D550E1C94D3D98F@sandbox0e542e4c577f4bbb98c8bf6b6bca727b.mailgun.org>",
  //   "message": "Queued. Thank you."
  // }

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

  final id = jResp.stringOf('id');
  final message = jResp.stringOf('message');
}