startTls method

Upgrades the current insure connection to SSL.

Opportunistic TLS (Transport Layer Security) refers to extensions in plain text communication protocols, which offer a way to upgrade a plain text connection to an encrypted (TLS or SSL) connection instead of using a separate port for encrypted communication.

Implementation

Future<GenericImapResult> startTls() async {
  final cmd = Command(
    'STARTTLS',
    writeTimeout: defaultWriteTimeout,
    responseTimeout: defaultResponseTimeout,
  );
  final response = await sendCommand<GenericImapResult>(
    cmd,
    GenericParser(this, _selectedMailbox),
  );
  log('STARTTLS: upgrading socket to secure one...', initial: 'A');
  await upgradeToSslSocket();

  return response;
}