Files
emails/NOTES.md
2023-06-09 00:54:34 -04:00

1.9 KiB

UI

  • List mailboxes all in the Email Provider, identifying those registered locally.
  • Select which to register or unregister for watching.
  • List registered mailboxes.
  • List messages for selected mailbox.
  • Schedule attachments downloads.
  • Download attachments (encrypted & decrypted).

CLI

Automatic

  • mailboxes:check: Get registered mailboxes and schedule messages:grab for mailbox_id.
  • attachments:check: Check saved attachments and schedule attachments:decrypt for attachment_id.
  • jobs:check: Get pending jobs and run them.

Scheduled

  • messages:grab: Grab messages for mailbox. Arguments: mailbox_id.
  • attachments:grab: Grab attachments for message. Arguments: message_id.
  • attachments:decrypt: Decrypt attachment. Arguments: attachment_id.

API

  • Grab all mailboxes from Email Provider, identifying those that are registered.
  • Register mailboxes into [database] and grab latest messages.
  • Grab new messages from Email Provider for selected mailboxes and store them in the database.
  • Grab messages from [database] for selected mailboxes.
  • Grab attachments from Email Provider for selected messages.
  • Register messages for attachment job.
  • Decrypt attachments.

Workflow

  • [User] Choose mailboxes to register or unregister. -> [API] Register selected mailboxes, register new messages:grab job.
  • [Cron] Get jobs, run jobs.
  • [User] Check messages found -> [API] Schedule attachments.

Jobs

Automatic

  • Check registered mailboxes for new messages. Every weekday.
  • Check if attachments are encrypted. Every weekday.
  • Check for new scheduled jobs. Every minute.

Scheduled

  • Grab messages for mailbox id.
  • Grab attachments for message id.
  • Decrypt attachment.