flutter_coremail

Typed Coremail server configuration and an IMAP/SMTP mail-client facade for Dart. It delegates protocol work to enough_mail and keeps Coremail webmail/SSO endpoints outside the stable API.

Features

  • Immutable IMAP, SMTP, POP3, and Webmail endpoint configuration.
  • Account model that accepts a normal or client-specific password.
  • Mailbox listing and selection, message fetch/search, flags, move/delete, folder creation/deletion, and SMTP sending.
  • An optional SSO boundary that lets an application own WebView cookies.
  • Caller-defined Coremail server configuration for any compatible deployment.

Usage

import 'package:flutter_coremail/flutter_coremail.dart';

final account = CoremailAccount(
  username: 'user@example.com',
  password: 'client-specific-password',
  server: CoremailServerConfiguration(
    imap: CoremailEndpoint(host: 'imap.example.com', port: 993),
    smtp: CoremailEndpoint(host: 'smtp.example.com', port: 465),
  ),
);
final client = CoremailClient(account);

await client.connect();
final mailboxes = await client.listMailboxes();
await client.disconnect();

For another deployment, create CoremailServerConfiguration with the hosts, ports, and TLS modes supplied by its administrator. Do not log or persist the password supplied to CoremailAccount.

Scope and safety

CoremailClient uses IMAP/SMTP and does not call Coremail's private Webmail RPCs. Confirm sends and destructive actions in the host app before calling them. Coremail deployments can differ, so test a deployment with a dedicated account before production use.

Detailed Coremail interface notes are available in doc/coremail-web-api.md; they describe a deployment-neutral JSON-RPC and HTTP surface, not a stable public API contract.

Development

dart analyze
dart test
dart pub publish --dry-run

The package is not affiliated with Coremail. See LICENSE.

Libraries

flutter_coremail