getFormBody method

Future<FormData> getFormBody(
  1. SendMailOptions options
)

Implementation

Future<FormData> getFormBody(SendMailOptions options) async {

  final form = FormData.fromMap({
    'subject': options.subject,
    'sender': {
      'name': options.sender.name,
      'email': options.sender.email
    },
    'message': options.message,
  });

  form.fields.addAll(
    appendRecipients(options.recipients).entries.toList(),
  );
  form.fields.addAll(
      appendTemplate(options.template).entries.toList()
  );
  form.fields.addAll(
      appendCalendarEvent(options.calendarEvent).entries.toList()
  );
  form.fields.addAll(
      appendResponseAddress(options.responseAddress).entries.toList()
  );

  if (options.attachments != null) {
    for (var i = 0; i < options.attachments!.length; i++) {
      final file = await MultipartFile.fromFile(options.attachments![i]!);
      form.files.add(MapEntry('attachments', file)); // Use a unique key for each file
    }
  }

  return form;
}