Проблема в том, что POP3 не имеет концепции блокировки заданий / сообщений, поэтому несколько клиентов, одновременно заходящих в одну учетную запись, получат одинаковый набор сообщений.
Однако мне пришлось решить аналогичную проблему, и именно так я ее достиг. Сначала я использовал IMAP, а не POP3. Затем каждый клиент регистрирует папку в основном почтовом ящике. Затем у меня есть один главный узел, который управляет корневой папкой INBOX. Все остальные узлы запрашивают задание у главного узла, который выполняет простой перенос задания из корневого почтового ящика в папку запрашивающих узлов. Затем узел может извлечь задание непосредственно из своей личной папки, не беспокоясь о помехах от других узлов.
Если вам интересно, зачем нужен главный узел, то это потому, что IMAP не имеет атомарной операции перемещения, а скорее является копией, а затем удалите двухфазную операцию. Это означает, что для предотвращения любых проблем с параллелизмом у вас все еще может быть только один поток / процесс, обращающийся к папке INBOX.