createDeliverabilityTestReport method

Future<CreateDeliverabilityTestReportResponse> createDeliverabilityTestReport({
  1. required EmailContent content,
  2. required String fromEmailAddress,
  3. String? reportName,
  4. List<Tag>? tags,
})

Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon SES then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

May throw AccountSuspendedException. May throw SendingPausedException. May throw MessageRejected. May throw MailFromDomainNotVerifiedException. May throw NotFoundException. May throw TooManyRequestsException. May throw LimitExceededException. May throw BadRequestException. May throw ConcurrentModificationException.

Parameter content : The HTML body of the message that you sent when you performed the predictive inbox placement test.

Parameter fromEmailAddress : The email address that the predictive inbox placement test email was sent from.

Parameter reportName : A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.

Parameter tags : An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test.

Implementation

Future<CreateDeliverabilityTestReportResponse>
    createDeliverabilityTestReport({
  required EmailContent content,
  required String fromEmailAddress,
  String? reportName,
  List<Tag>? tags,
}) async {
  ArgumentError.checkNotNull(content, 'content');
  ArgumentError.checkNotNull(fromEmailAddress, 'fromEmailAddress');
  final $payload = <String, dynamic>{
    'Content': content,
    'FromEmailAddress': fromEmailAddress,
    if (reportName != null) 'ReportName': reportName,
    if (tags != null) 'Tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/v2/email/deliverability-dashboard/test',
    exceptionFnMap: _exceptionFns,
  );
  return CreateDeliverabilityTestReportResponse.fromJson(response);
}