addText method

PartBuilder addText(
  1. String text, {
  2. MediaType? mediaType,
  3. TransferEncoding transferEncoding = TransferEncoding.automatic,
  4. CharacterSet characterSet = CharacterSet.utf8,
  5. ContentDispositionHeader? disposition,
  6. bool insert = false,
})

Adds a text part to this message with the specified text.

Specify the optional mediaType, in case this is not a text/plain message and the characterSet in case it is not ASCII.

Optionally specify the content disposition with disposition.

Optionally set insert to true to prepend and not append the part.

Optionally specify the transferEncoding which defaults to TransferEncoding.automatic.

Implementation

PartBuilder addText(String text,
    {MediaType? mediaType,
    TransferEncoding transferEncoding = TransferEncoding.automatic,
    CharacterSet characterSet = CharacterSet.utf8,
    ContentDispositionHeader? disposition,
    bool insert = false}) {
  mediaType ??= MediaSubtype.textPlain.mediaType;
  final child = addPart(insert: insert)
    ..setContentType(mediaType, characterSet: characterSet)
    ..transferEncoding = transferEncoding
    ..contentDisposition = disposition
    ..text = text;
  if (disposition?.disposition == ContentDisposition.attachment) {
    final info = AttachmentInfo(
        null,
        mediaType,
        disposition!.filename,
        disposition.size,
        disposition.disposition,
        utf8.encode(text) as Uint8List,
        child);
    _attachments.add(info);
  }
  return child;
}