Swift
Swift
Mailgun Send Simple Email
See more Mailgun Examples
Send a simple email using Mailgun.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// 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.
let req = CkoHttpRequest()!
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(name: "from", value: "Your Name <mailgun@YOUR_DOMAIN_NAME>")
req.addParam(name: "to", value: "Joe Example <joe@example.com>")
req.addParam(name: "subject", value: "Hello Joe Example")
req.addParam(name: "text", value: "Congratulations Joe Example, you just sent an email with Mailgun! You are truly awesome!")
let resp = CkoHttpResponse()!
success = http.httpSReq(domain: "api.mailgun.net", port: 443, ssl: true, request: req, response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
let sbResponseBody = CkoStringBuilder()!
resp.getBodySb(sb: sbResponseBody)
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = resp.statusCode.intValue
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
var id: String? = jResp.string(of: "id")
var message: String? = jResp.string(of: "message")
}