sendBulkEmail method

Future<SendBulkEmailResponse> sendBulkEmail({
  1. required List<BulkEmailEntry> bulkEmailEntries,
  2. required BulkEmailContent defaultContent,
  3. String? configurationSetName,
  4. List<MessageTag>? defaultEmailTags,
  5. String? feedbackForwardingEmailAddress,
  6. String? feedbackForwardingEmailAddressIdentityArn,
  7. String? fromEmailAddress,
  8. String? fromEmailAddressIdentityArn,
  9. List<String>? replyToAddresses,
})

Composes an email message to multiple destinations.

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

Parameter bulkEmailEntries : The list of bulk email entry objects.

Parameter defaultContent : An object that contains the body of the message. You can specify a template message.

Parameter configurationSetName : The name of the configuration set that you want to use when sending the email.

Parameter defaultEmailTags : A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

Parameter feedbackForwardingEmailAddress : The address that you want bounce and complaint notifications to be sent to.

Parameter feedbackForwardingEmailAddressIdentityArn : This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FeedbackForwardingEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the FeedbackForwardingEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

Parameter fromEmailAddress : The email address that you want to use as the "From" address for the email. The address that you specify has to be verified.

Parameter fromEmailAddressIdentityArn : This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FromEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use sender@example.com, then you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FromEmailAddress to be sender@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

Parameter replyToAddresses : The "Reply-to" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.

Implementation

Future<SendBulkEmailResponse> sendBulkEmail({
  required List<BulkEmailEntry> bulkEmailEntries,
  required BulkEmailContent defaultContent,
  String? configurationSetName,
  List<MessageTag>? defaultEmailTags,
  String? feedbackForwardingEmailAddress,
  String? feedbackForwardingEmailAddressIdentityArn,
  String? fromEmailAddress,
  String? fromEmailAddressIdentityArn,
  List<String>? replyToAddresses,
}) async {
  ArgumentError.checkNotNull(bulkEmailEntries, 'bulkEmailEntries');
  ArgumentError.checkNotNull(defaultContent, 'defaultContent');
  final $payload = <String, dynamic>{
    'BulkEmailEntries': bulkEmailEntries,
    'DefaultContent': defaultContent,
    if (configurationSetName != null)
      'ConfigurationSetName': configurationSetName,
    if (defaultEmailTags != null) 'DefaultEmailTags': defaultEmailTags,
    if (feedbackForwardingEmailAddress != null)
      'FeedbackForwardingEmailAddress': feedbackForwardingEmailAddress,
    if (feedbackForwardingEmailAddressIdentityArn != null)
      'FeedbackForwardingEmailAddressIdentityArn':
          feedbackForwardingEmailAddressIdentityArn,
    if (fromEmailAddress != null) 'FromEmailAddress': fromEmailAddress,
    if (fromEmailAddressIdentityArn != null)
      'FromEmailAddressIdentityArn': fromEmailAddressIdentityArn,
    if (replyToAddresses != null) 'ReplyToAddresses': replyToAddresses,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/v2/email/outbound-bulk-emails',
    exceptionFnMap: _exceptionFns,
  );
  return SendBulkEmailResponse.fromJson(response);
}