0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 9
|
||||||
1 | ||||||
Imaplib, метод отбора писем search()29.01.2018, 14:05. Показов 11958. Ответов 7
Метки нет (Все метки)
Добрый день!
Изучаю сбор писем питоном. На данный момент застопорился с методом search. В связи с поставленной задачей, поставил для себя ряд вопросов.
Задача №1 "легкая". Здесь, вроде как, вопросов нет. Отобрать письма с темой, содержащей текст "ТемаПисьмаОдин". Первый вариант: status, search_data = imap.search("utf-8", '(SUBJECT "%s")' % u"ТемаПисьмаОдин".encode("utf-8")) Второй вариант: status, search_data = imap.search("utf-8", 'SUBJECT', u"ТемаПисьмаОдин".encode("utf-8")) Отлично, усложним задачу. Задача №2 "средняя". Отобрать письма с темой, содержащей текст "ТемаПисьмаОдин" И текст "ТемаПисьмаДва" Первый вариант: Собственно вопрос, как это сделать? Второй вариант: status, search_data = imap.search("utf-8", 'SUBJECT', u"ТемаПисьмаОдин".encode("utf-8"), 'SUBJECT', u"ТемаПисьмаДва".encode("utf-8")) Еще усложним. Задача №3 "сложная". Отобрать письма с темой, содержащей текст "ТемаПисьмаОдин" ИЛИ текст "ТемаПисьмаДва" Ни первый вариант, ни второй вариант мне не удалось реализовать. Прошу помощи! Спасибо!
0
|
29.01.2018, 14:05 | |
Ответы с готовыми решениями:
7
Нужна программа для отбора писем с вложениями (файлами), чтобы не видеть писем с обычными письмами Оптимизация отбора и вывода писем в файл. Outlook Add-in метод Search Метод Search Метод Notesdatabase.search |
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 9
|
|
30.01.2018, 18:01 [ТС] | 2 |
Подскажите, где почитать то хоть об этом можно?
0
|
30.01.2018, 19:20 | 3 |
RFC 2060, 3501 (официальные спецификации протокола IMAP).
P.S. Однако вы будете разочарованы - разные почтовики поддерживают синтаксис search по разному. Или могут иметь свой собственный.
0
|
1 / 1 / 2
Регистрация: 23.07.2016
Сообщений: 13
|
||||||
30.01.2018, 22:55 | 4 | |||||
набор кортежей ему скорми, Питон 3.6
0
|
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 9
|
|
31.01.2018, 16:19 [ТС] | 5 |
Эмм. А как применить эту запись к моему нестандартному примеру?
0
|
1 / 1 / 2
Регистрация: 23.07.2016
Сообщений: 13
|
|
03.02.2018, 12:36 | 6 |
набор кортежей, я же написал
M.search(None, '(FROM "LDJ")', '(SUBJECT "LDJ")', '(MESSAGE "LDJ")') см. документацию
0
|
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
|
|
03.02.2018, 14:37 | 7 |
0
|
03.02.2018, 15:26 | 8 |
Сообщение было отмечено Gfest как решение
Решение
Shamil1,
Логического И - для выборки писем, например, с темой № 1 и темой №2 в IMAP, как я понял, вообще нет. Мы можем только задать ключевые слова в контексте одной темы. Вот такой запрос найдет все письма в теме которых присутствуют оба слова - "кошелек" и "пополнен" То есть здесь для такой задачи требуется уже логическое ИЛИ. Оно в IMAP есть (OR) - но как его применять непонятно. У меня ни mail, ни yandex его не принимают. Впрочем, Mail вообще, похоже, не знает ключевых слов FROM, TO, SUBJECT, HEADER и т.д. P.S. И, кстати, не важно как передавать параметры - списком строк или одной строкой. Эти варианты эквивалентны по смыслу. Добавлено через 16 минут На яндексе также работает логическое отрицание: Код
'(SUBJECT "заплатили" NOT SUBJECT "налоги")'.encode('utf-8')
2
|
03.02.2018, 15:26 | |
03.02.2018, 15:26 | |
Помогаю со студенческими работами здесь
8
метод Notesdatabase.search Vk api (метод wall.search) Метод users.search возвращает 0 VkNet метод Messages.Search Search View не удается вызвать метод Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |