Я использую Gmail и приложение, которое уведомляет меня, если я получил новое электронное письмо, содержащее его заголовок во всплывающей подсказке. (GmailNotifier с Miranda-IM) Большинство сообщений, которые я получаю, - это письма, которые я не хочу читать, и раздражает необходимость входить в Gmail по медленному соединению, чтобы просто удалить указанное письмо. Я считаю, что плагин является закрытым исходным кодом.
Я (безуспешно) пытаюсь написать скрипт, который будет входить в систему и удалять «верхнее» письмо (последнее полученное). Однако это не так просто, как я думал.
Сначала я попробовал использовать imaplib, но обнаружил, что он не содержит методов, которые, как я надеялся, будут. Это немного похоже на спецификацию dbapi, содержащую только минимальные функциональные возможности, в случае изменения спецификации imap. Затем я попытался прочитать RFC IMAP (rfc3501). На полпути я понял, что не хочу писать целый почтовый клиент, поэтому решил вместо этого попробовать pop3.
poplib также минимален, но, похоже, имеет то, что мне нужно. Однако pop3, кажется, не сортирует сообщения в любом порядке, с которым я знаком. Мне нужно либо вызывать top () или retr () для каждого письма, чтобы прочитать заголовки, если я хочу увидеть полученную дату.
Возможно, я мог бы перебирать каждый заголовок сообщения в поисках самой последней даты, но это ужасно. Я хочу избежать анализа всего моего почтового ящика, если это возможно. Я также не хочу «выдвигать» почтовый ящик и загружать любые другие сообщения.
Прошло уже 6 часов, и я не чувствую себя ближе к решению, чем когда я начал. Я пропускаю что-то простое? Есть ли другая библиотека, которую я мог бы попробовать? (Я нашел «чилкат», но он раздулся до черта, и я надеялся сделать это со стандартной библиотекой)