temp_mail_blocker 1.1.1 copy "temp_mail_blocker: ^1.1.1" to clipboard
temp_mail_blocker: ^1.1.1 copied to clipboard

Official Flutter/Dart SDK for TempMailBlocker email validation service. Validate emails with syntax checking, domain verification, MX records, SMTP validation, disposable email detection, and risk assessment.

example/main.dart

import 'package:temp_mail_blocker/temp_mail_blocker.dart';

Future<void> main() async {
  // Initialize the SDK
  // Get your API key from: https://tempmailblocker.com/
  // New users get 100 free credits when they sign up!
  final client = MailValidationClient(
    apiKey: 'your-api-key-here', // Get this from your dashboard
    baseUrl: 'https://tempmailblocker.com',
  );

  try {
    // Single validation
    print('=== Single Validation ===');
    final singleResult = await client.validateEmail('test@example.com');
    print('Single validation result:');
    print('  Email: ${singleResult.email}');
    print('  Valid: ${singleResult.isValid}');
    print('  Score: ${singleResult.score}');
    print('  Deliverable: ${singleResult.deliverable}');
    print('  Risk: ${singleResult.risk}');
    print('  Provider: ${singleResult.provider ?? 'Unknown'}');
    print('  Disposable: ${singleResult.disposable}');
    print('  Generic: ${singleResult.generic}');

    // Show mocking message if disposable email detected
    if (singleResult.disposable) {
      final mockingMessage = singleResult.getMockingMessage();
      if (mockingMessage != null) {
        print('\n  🎭 Mocking Message: $mockingMessage');
      }
    }
    if (singleResult.creditsRemaining != null) {
      print('  Credits Remaining: ${singleResult.creditsRemaining}');
    }
    if (singleResult.cached == true) {
      print('  (Cached result - no credits used)');
    }

    // Bulk validation
    print('\n=== Bulk Validation ===');
    final bulkJob = await client.createBulkJob(
      emails: [
        'user1@domain.com',
        'user2@domain.com',
        'invalid@email',
      ],
      name: 'Test Validation',
    );

    print('Bulk job created: ${bulkJob.id}');
    print('Status: ${bulkJob.status}');
    print('Total emails: ${bulkJob.totalEmails}');

    // Wait for completion
    print('\nWaiting for job to complete...');
    final bulkResults = await client.waitForJobCompletion(
      bulkJob.id,
      pollInterval: const Duration(seconds: 5),
      timeout: const Duration(minutes: 5),
    );

    print('\nBulk validation completed:');
    print('  Total: ${bulkResults.summary.total}');
    print('  Valid: ${bulkResults.summary.valid}');
    print('  Invalid: ${bulkResults.summary.invalid}');
    print('  Processed: ${bulkResults.summary.processed}');

    // Print individual results
    print('\nIndividual results:');
    bulkResults.results.forEach((result) {
      final status = result.isValid ? 'βœ“ Valid' : 'βœ— Invalid';
      print('  ${result.email}: $status (Score: ${result.score})');
    });
  } on ApiException catch (e) {
    print('\nAPI Error: ${e.message}');
    if (e.statusCode != null) {
      print('Status Code: ${e.statusCode}');
      if (e.statusCode == 402) {
        print(
            'πŸ’‘ Insufficient credits. Visit https://tempmailblocker.com/ to purchase more.');
        print('   New users get 100 free credits when they sign up!');
      } else if (e.statusCode == 401) {
        print(
            'πŸ’‘ Invalid API key. Get your API key from: https://tempmailblocker.com/');
      }
    }
    if (e.code != null) {
      print('Error Code: ${e.code}');
    }
  } catch (e) {
    print('\nError: $e');
  }
}
3
likes
150
points
8
downloads

Publisher

unverified uploader

Weekly Downloads

Official Flutter/Dart SDK for TempMailBlocker email validation service. Validate emails with syntax checking, domain verification, MX records, SMTP validation, disposable email detection, and risk assessment.

Homepage
Repository (GitHub)
View/report issues

Topics

#email-validation #tempmail-blocker #email #validation #flutter

Documentation

API reference

License

MIT (license)

Dependencies

http

More

Packages that depend on temp_mail_blocker