registerMailDomain method

Future<void> registerMailDomain({
  1. required String domainName,
  2. required String organizationId,
  3. String? clientToken,
})

Registers a new domain in WorkMail and SES, and configures it for use by WorkMail. Emails received by SES for this domain are routed to the specified WorkMail organization, and WorkMail has permanent permission to use the specified domain for sending your users' emails.

May throw InvalidParameterException. May throw LimitExceededException. May throw MailDomainInUseException. May throw OrganizationNotFoundException. May throw OrganizationStateException.

Parameter domainName : The name of the mail domain to create in WorkMail and SES.

Parameter organizationId : The WorkMail organization under which you're creating the domain.

Parameter clientToken : Idempotency token used when retrying requests.

Implementation

Future<void> registerMailDomain({
  required String domainName,
  required String organizationId,
  String? clientToken,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'WorkMailService.RegisterMailDomain'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'DomainName': domainName,
      'OrganizationId': organizationId,
      'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
    },
  );
}