Мне кажется, что использование --fetchall и --keep означает, что вы не можете возобновить прерванную загрузку без повторной загрузки всей ранее доставленной почты.
fetchall
Извлекает как старые (увиденные), так и новые сообщения с почтового сервера. По умолчанию выбираются только те сообщения, которые сервер не пометил как просмотренные.держать
Держите забранные сообщения на удаленном почтовом сервере. Обычно сообщения удаляются из папки на почтовом сервере после их получения.
Вас может заинтересовать оффлайн Gmail ( обзор )
Обновить:
Отчасти трудность заключается в том, что, как я уверен, вы знаете, IMAP спроектирован таким образом, что вся почта хранится в одном месте, и вы получаете доступ к этой услуге в режиме онлайн от различных клиентов - все они представляют одно и то же представление. Служба POP ожидает, что вы загрузите всю свою почту на один локальный клиент (и удалите ее с сервера POP). То, что вы пытаетесь сделать, это ни то, ни другое. Fetchmail пытается решить эту проблему, загружая только сообщения, помеченные как непрочитанные. Если вы пометите некоторые сообщения как прочитанные, обращаясь к серверу IMAP с помощью клиента, сервер не будет представлять эти сообщения в fetchmail, когда он запрашивает непрочитанные сообщения. Вы хотите локальное зеркало вашего почтового ящика IMAP независимо от статуса сообщения. Я не знаю, как использовать fetchmail для достижения этой цели.