Создание папки по email отправителя



  • Стоит задача скачать вложения с почты и распределить их по папках, по email отправителя, как это сделать?



  • @karamovavv Да, такой функционал был бы полезен



  • @Gilr такого функционала нет, но раз требуется, то постараемся добавить в следующем (или через один) релизе.



  • @karamovavv, а как определить дату отправки письма? @mail[@i].Date ?



  • @Gilr да, вы правы



  • @karamovavv, еще нашел одну ошибку у вас. Мы указываем путь куда переместить файл через @path. Но как оказалось, Lexema не создает автоматически папку, если ее нет. Поэтому надо добавить отдельную активность Создать папку с названием папки @mail[@i].Sender



  • @Gilr да, аналогично и с вложениями



  • @karamovavv Я так понимаю, что и с вложениями тоже самое? @j = @j-1



  • @Gilr во-первых, извините, я допустила опечатку в написании пути - пропущен слеш после двоеточия, а во-вторых, в студии есть некоторый нюанс, что в цикле расчет ведется с 1-цы, а в переменных-списках с 0, то есть, если у вас скачано всего одно письмо, то оно находится по адресу @mail[0], а в переменной цикла @i лежит 1-ца, получается, что программа пытается взять несуществующую строку. Добавьте в начале цикла модуль вычислений, вычисляющий @i=@i-1.



  • @karamovavv Робот не хочет работать. Пишет ошибку: Ошибка в FOR на 1 шаге в модуле Цикл (3): Входная строка имела неверный формат.,

    Путь папки даже не преобразовался в нормальный
    Screenshot_3.png



  • @Gilr Модуль "Считать письма" скачивает именно цельное письмо с почты, в котором может быть несколько вложений. Поэтому, для корректного перемещения всех писем необходимо добавить шаг с циклом по всем вложениям письма - во время 4-го описываемого мной шага (модуль вложения) нужно также считать количество вложений в письме (@countAtt = @mail[@i],Attachments[%]), а затем в цикле 5-го шага использовать количество итераций - @countAtt, используя переменную с шагом, например, @j.



  • Участник @karamovavv написал в Создание папки по email отправителя:

    Цикл по всем вложениям из конкретного письма

    Непонятно как реализовать 5 шаг



  • С помощью модуля "Считать письма" вы можете скачать все необходимые письма с почты, затем в цикле по всем скачанным письмам использовать модуль "Работы с файлами" - действие "Переместить файл" и перемещать необходимые вам файлы в нужные папки, проверяя адресата писем. Например, такая последовательность модулей - 1. Считать письма (в переменную @mail, к примеру); 2. Вычисления - определяем количество писем (@count=@mail[%]); 3. Цикл по @count; 4. Вычисления - создать путь до папки с именем отправителя (например, @path = C:@mail[@i].Sender); 5. Цикл по всем вложениям из конкретного письма; 6. Работа с файлами - переместить файл из @mail[@i].Attachments[@j] в @path.


Log in to reply