start method
Implementation
Future<void> start() async {
// IMAPS 993 (implicit TLS)
var secureServer = _secureServer = await SecureServerSocket.bind(
InternetAddress.anyIPv4,
imapsPort,
securityContext,
);
_log.info('IMAPS Server listening on port: $imapsPort');
secureServer.listen((socket) {
_IMAPClientHandler(
serverPort: imapsPort,
socket: socket,
hostname: hostname,
mailboxStore: mailboxStore,
authProvider: authProvider,
securityContext: securityContext,
imaps: true,
).handle();
});
// IMAP 143 (plaintext + STARTTLS)
var server = _server = await ServerSocket.bind(
InternetAddress.anyIPv4,
imapPort,
);
_log.info('IMAP Server listening on port: $imapPort');
server.listen((socket) {
_IMAPClientHandler(
serverPort: imapPort,
socket: socket,
hostname: hostname,
mailboxStore: mailboxStore,
authProvider: authProvider,
securityContext: securityContext,
imaps: false,
).handle();
});
}