setMetaData method
Saves the specified meta data entry
.
Set MetaDataEntry.value to null to delete the specified meta data entry Compare https://tools.ietf.org/html/rfc5464 for details.
Implementation
Future<Mailbox?> setMetaData(MetaDataEntry entry) {
final valueText = entry.valueText;
Command cmd;
if (entry.value == null || _isSafeForQuotedTransmission(valueText!)) {
final cmdText =
'SETMETADATA "${entry.mailboxName}" (${entry.name} ${entry.value == null ? 'NIL' : '"' + valueText! + '"'})';
cmd = Command(cmdText);
} else {
// this is a complex command that requires continuation responses
final parts = <String>[
'SETMETADATA "${entry.mailboxName}" (${entry.name} {${entry.value!.length}}',
entry.valueText! + ')'
];
cmd = Command.withContinuation(parts);
}
final parser = NoResponseParser(_selectedMailbox);
return sendCommand(cmd, parser);
}