load static method

void load()

Implementation

static void load() {
  final provider = FlintEnv.get('MAIL_PROVIDER', 'smtp');
  final host = FlintEnv.get('MAIL_HOST', 'localhost');
  final port = FlintEnv.getInt('MAIL_PORT', 25);
  final username = FlintEnv.get('MAIL_USERNAME', '');
  final password = FlintEnv.get('MAIL_PASSWORD', '');
  final encryption = FlintEnv.get('MAIL_ENCRYPTION', 'tls');
  final fromEmail = FlintEnv.get('MAIL_FROM_ADDRESS', 'tls');
  final fromName = FlintEnv.get("MAIL_FROM_NAME", "Flint dart");
  final useSSL = encryption.toLowerCase() == 'ssl';
  final useTLS = encryption.toLowerCase() == 'tls';

  switch (provider) {
    case 'gmail':
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          fromAddress: fromEmail,
          fromName: fromName,
          useSSL: useSSL,
          useTLS: useTLS);
      break;
    case 'outlook':
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          useSSL: useSSL,
          fromAddress: fromEmail,
          fromName: fromName,
          useTLS: useTLS);
      break;
    case 'zoho':
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          fromAddress: fromEmail,
          fromName: fromName,
          useSSL: useSSL,
          useTLS: useTLS);
      break;
    case 'mailgun':
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          fromAddress: fromEmail,
          fromName: fromName,
          useSSL: useSSL,
          useTLS: useTLS);
      break;
    case 'sendgrid':
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          fromAddress: fromEmail,
          fromName: fromName,
          useSSL: useSSL,
          useTLS: useTLS);
      break;
    default:
      Mail.setup(
          host: host,
          port: port,
          username: username,
          password: password,
          fromAddress: fromEmail,
          fromName: fromName,
          useSSL: useSSL,
          useTLS: useTLS);
  }

  print('📧 Mail configured automatically for provider: $provider');
}