uvdesk / mailbox-component

The Mailbox component provides tools that allows your helpdesk to process tickets from multiple email sources.
MIT License
22 stars 38 forks source link

Console options for days instead of timestamp #91

Open silviuchingaru opened 2 years ago

silviuchingaru commented 2 years ago

Because RefreshMailboxCommand::refreshMailbox() uses imap_search() with 'SINCE "' . $timestamp->format('d F Y') . '"' which is 'SINCE "28 December 2021"', for example, so as not to mislead users that only message from one hour ago are fetched when using -t 60, instead of timestamp option we could use a days option for uvdesk:refresh-mailbox command.

So instead of running something like php bin/console uvdesk:refresh-mailbox -t 2 office@example.org

they could run something like php bin/console uvdesk:refresh-mailbox -d 1 office@example.org to fetch emails since yesterday until now or php bin/console uvdesk:refresh-mailbox -d 0 office@example.org to fetch only emails of curent day.

If you agree with this enhachment, i could post a pull request with this implementation.

silviuchingaru commented 2 years ago

For better approach for performance reasons on large mailboxes will be to use imap_search($stream, 'UID ' . $latest_uid . ':*', SE_UID);.

@see https://stackoverflow.com/questions/32698415/php-imap-search-unseen-since-date-with-time