imap_sort — одна из нескольких функций, с помощью которой можно получить список писем в почтовом ящике. Один из её параметров — criteria, не очевидно, но с помощью него можно задать вид сортировки:
- SORTDATE — сортировать по дате
- SORTARRIVAL — дата получения
- SORTFROM — по первому адресу в поле From
- SORTSUBJECT — по теме письма
- SORTTO — по первому адресу в поле To
- SORTCC — по первому адресу в поле cc
- SORTSIZE — по размеру сообщения
Как думаете, что произойдёт, если почтовый сервер не поддерживает какой-либо из способов сортировки? Правильно, будет возвращён список писем с сортировкой по-умолчанию — по порядку без каких-либо сообщений об ошибке или уведомлений. Что приведёт к батхёрту и долгим часам поиска ошибки. Например, один из малоизвестных почтовых серверов доступных только по протоколу pop3 не умеет сортировать письма по SORTARRIVAL, однако отлично умеет их сортировать по SORTDATE что в принципе даёт идентичных результат в 99% ситуаций.
В интернете можно встретить советы на подобии: если вы сортируете письма по дате получения с мощью константы SORTARRIVAL, то прекратите это делать! Лучше не использовать функцию imap_sort(), а работать с номерами сообщений, не путайте с UID. В больших почтовых ящиках будет значительное увеличение времени выполнения на сортировку писем.
По-хорошему лучше вообще не пользоваться стандартной библиотекой IMAP, т.к. она не даёт никаких гарантий по корректной работе и жутко не удобна в использовании.