render method
Renders this mime part with all children parts into the specified buffer
You can set renderHeader to false when the message headers
should not be rendered.
Throws a InvalidArgumentException when this message contains parts but no multipart boundary.
Implementation
void render(StringBuffer buffer, {bool renderHeader = true}) {
final mimeData = this.mimeData;
if (mimeData != null) {
if (!mimeData.containsHeader && renderHeader) {
_renderHeaders(buffer);
buffer.write('\r\n');
}
mimeData.render(buffer);
} else {
if (renderHeader) {
_renderHeaders(buffer);
buffer.write('\r\n');
}
final parts = this.parts;
if (parts != null && parts.isNotEmpty) {
final multiPartBoundary = getHeaderContentType()?.boundary;
if (multiPartBoundary == null) {
throw InvalidArgumentException('mime message rendering error: '
'parts present but no multiPartBoundary defined.');
}
for (final part in parts) {
buffer
..write('--')
..write(multiPartBoundary)
..write('\r\n');
part.render(buffer);
buffer.write('\r\n');
}
buffer
..write('--')
..write(multiPartBoundary)
..write('--')
..write('\r\n');
}
}
}