guerrilla_mail_api 1.0.1 copy "guerrilla_mail_api: ^1.0.1" to clipboard
guerrilla_mail_api: ^1.0.1 copied to clipboard

This dart package enables you to communicate with Guerrilla Mail's temporary and anonymous mailing service.

example/guerrilla_mail_api_example.dart

import 'dart:io';

import 'package:guerrilla_mail_api/guerrilla_mail_api.dart';

void main() async {
  var client = GuerrillaMailApi();

  final response = await client.getEmailAddress();
  print('New address: ${response.emailAddress}\n\n');

  while (true) {
    await checkMails(client);
  }
}

Future<void> checkMails(GuerrillaMailApi client) async {
  print(
      'Press [ENTER] as soon as you received a mail.\nType an other mail user name to switch it.\nPress [CTRL] + [C] to stop the application.');

  final input = stdin.readLineSync();

  if (input != null && RegExp(r'^[\w\-\.\+]+$').hasMatch(input.trim())) {
    final response = await client.setEmailUser(input.trim());

    print('New address: ${response.emailAddress}\n\n');
    return;
  }

  final mails = await client.getEmailList();
  print("Got ${mails.count} mails:");

  if (mails.count > 0) {
    for (var mail in mails.list) {
      printMailExcerpt(mail, "${mails.list.indexOf(mail)}.");
    }
    print(
        '\n\nEnter the index of a mail to read the full message.\nPress [ENTER] to restart the application.');
  }

  final messageIdInput = stdin.readLineSync();

  if (messageIdInput != null &&
      RegExp(r'^\d+$').hasMatch(messageIdInput.trim())) {
    final id = int.parse(messageIdInput.trim());
    printFullMail(mails.list[id]);
  }
}

void printMailExcerpt(Message mail, String? prefix) {
  String message = '';
  if (prefix != null) message = '$prefix - ';
  message +=
      '${mail.subject} - ${mail.excerpt.replaceAll('\n', '\t')} - ${mail.date}';
  print(message);
}

void printFullMail(Message mail) {
  print(
      '${mail.subject} - ${mail.date} - sent by ${mail.from}\n\t\t---\n${mail.body}\n\t\t---\n\n');
}
2
likes
130
pub points
0%
popularity

Publisher

verified publisherwith-the-braid.cf

This dart package enables you to communicate with Guerrilla Mail's temporary and anonymous mailing service.

Homepage
Repository (GitLab)
View/report issues

Documentation

API reference

License

EUPL-1.2 (LICENSE)

Dependencies

equatable, http, json_annotation

More

Packages that depend on guerrilla_mail_api