Send e-mail

Sends a plaintext e-mail to the address specified in the Email property of a directory object. To be able to send e-mail via Adaxes, you need to configure mail settings.

POST ~/api/directoryObjects/sendMail

Tip

Adaxes will send the e-mail from the address specified in the Email property of the authenticated user. If their Email property is empty, Adaxes will use the From address, configured in the mail settings.

Request parameters

This request has no parameters.

Request headers

  • Name

  • Required

  • Description

  • Adm-Authorization

  • True

  • Specify the security token obtained during authentication.

  • Content-Type

  • True

  • Use application/json as the value of this header.

Request body

The request body is a JSON object with the following data structure:

{
  "directoryObject": "<objectId>",
  "subject": "<mailSubject>",
  "text": "<mailBody>"
}

directoryObject string
The identifier of the directory object to send e-mail to. A directory object can be identified by:

 Distinguished name (DN) {.black}
# Example
CN=John Smith,CN=Users,DC=example,DC=com
 Globally unique identifier (GUID) {.black}
# Example
7a4267ce-d354-44e7-8bd6-c681f1284a41
 Security identifier (SID) {.black}
# Example
S-1-5-21-3635565734-1729062999-1822655016-1627

subject string
The subject of the e-mail.


text string
The body of the e-mail.


Responses

If successful, returns 200 OK status code and an operation result in the response body. Otherwise, returns one of the common HTTP error codes and an error description in the response body.

Examples

 Send an email to a user

The following code sample sends an email to the specified user.

Request

PowerShell
$userIdentifier = "CN=John Smith,CN=Users,DC=example,DC=com"

$baseUrl = "https://host.example.com/restApi"
$endpoint = "/api/directoryObjects/sendMail"
$requestUrl = $baseUrl + $endpoint
$requestHeaders = @{"Adm-Authorization" = "HxtdAPz73OFfae7....w7lQvxjJHIbVqgkCtPtLD"}
$requestBody = ConvertTo-Json @{
    "directoryObject" = $userIdentifier;
    "subject" = "My email subject";
    "text" = "My email body"
} 

# Make request
Invoke-RestMethod -Method POST -Headers $requestHeaders -Uri $requestUrl `
  -Body $requestBody -ContentType "application/json"
C#
using System;
using System.Text;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {   
        const string baseUrl = "https://host.example.com/restApi";
        const string endpoint = "/api/directoryObjects/sendMail";
        const string token = "HxtdAPz73OFfae7....w7lQvxjJHIbVqgkCtPtLD";
        
        // Create JSON request body
        string jsonRequest = @"
        {
            'directoryObject': 'CN=John Smith,CN=Users,DC=example,DC=com',
            'subject': 'My email subject',
            'text': 'My email text'
        }";
        StringContent requestBody = new StringContent(
            jsonRequest, Encoding.UTF8, "application/json");

        // Initialize HTTP client
        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Adm-Authorization", token);

            // Make request
            HttpResponseMessage response = await client.PostAsync(
                baseUrl + endpoint, requestBody);
            string responseBody = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine(responseBody);
        }
    }
}
cURL
curl  --header 'Adm-Authorization: HxtdAPz73OFfae7....w7lQvxjJHIbVqgkCtPtLD' \
--header 'Content-Type: application/json' \
--request POST 'https://host.example.com/restApi/api/directoryObjects/sendMail' \
--data-raw '{
    "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com",
    "subject": "My email subject",
    "text": "My email body"
}'
node.js
var https = require('https');

// Request parameters and headers
var options = {
    'method': 'POST',
    'hostname': 'host.example.com',
    'path': '/restApi/api/directoryObjects/sendMail',
    'headers': {
        'Adm-Authorization': 'HxtdAPz73OFfae7....w7lQvxjJHIbVqgkCtPtLD',
        'Content-Type': 'application/json'
    }
};

// Create JSON request body
var postData = `
{
    "directoryObject": "CN=John Smith,CN=Users,DC=example,DC=com",
    "subject": "My email subject",
    "text": "My email body"
}`;

// Make request
var req = https.request(options, function (res) {
    var chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        var body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

req.write(postData);

req.end();    

Response

HTTP Status code: 200 OK
Response body:

{
    "resultType": 0,
    "innerMessages": [],
    "exception": null,
    "actualObjectDN": null,
    "extraInfo": {}
}

See also