Задача: извлечь все e-mail из тела письма и сохранить их в определенную папку адресной книги. Не получается: вытаскивается только первый e-mail из тела письма и на этом всё. До прочих не доходит и соответственно в адресную они не попадают.
Сделано все так: создано правило сортировки, которое запускается по горячей клавише Общие Условие: Любое письмо Действия: Добавить адреса из Message Body в группы “&&” Детализация данной настройки: Поля заголовка, откуда добавляются адреса: везде галка снята Добавить адреса из текста письма, используя шаблон: %REGEXPTEXT="[a-zA-Z0-9._%+-]+@+[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}" Добавить адреса в эти группы: &&
В результате работы регулярки в адресную книгу в группу && добавляется только первый e-mail из текста сообщения даже если в письме их сотни. Почему так не ясно. Это первый опыт с регулярками и возможно для знающего человека ошибка очевидна.
Скрытый текст
Тестировал в нескольких тестерах и там нормально: https://tools.icoder.uz/regex-tester.php https://regex101.com/ Там везде регулярка находится все e-mail корректно, если запущен режим «global» и находит только первый e-mail, если используются другие режимы.
Изменено: Игорь Акулюшин - 16.10.2021 10:05:08(опечатка в названии темы)
Невозможно просто и легко сохранить в адресную книгу все адреса e-mail, включенные в тело письма. Можно экспортировать только один адрес. Таким образом, всю задачу следует разбить на два этапа:
- Экспорт всех адресов из тела письма в текстовый файл (по одному адресу в строке). Эту операцию можно выполнить с помощью фильтра, запускаемого по горячей клавише.
- Импорт адресов из текстового файла в адресную книгу (в книге уже есть встроенные функции для импорта адресов из файла).
К сожалению, Вы не можете использовать простое регулярное выражение для извлечения адресов из сообщений, но используйте рекурсию в быстрых шаблонах. Для этого определите два шаблона (например, в группе общих шаблонов).
1. Шаблон с именем «adr» предварительно определяет переменные, используемые в операции удаления адреса, и вызывает рекурсивный шаблон. Он имеет следующий вид: