VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку
Формулировка задачи:
Привет всем.
Прежде чем зарегистрироваться я много читал этот форум, искал, пытался сделать то, что мне нужно самостоятельно, но часто даже в рабочих примерах, что-то идёт не так, а где-то темы брошены. Но некий вектор я определил.
Потому решил сделать свою тему, где будет решения задачи от и до. Если никто не поможет, то я постараюсь сам решить. Но с помощью гуру-VBA всё же это было быстрее.
Итак моя как я считаю интересная задача. И её решение не просто задачка, а совершенно практичная вещь, которая как начнёт помогать мне и людям уже завтра, так и думаю привлечёт новых людей на форум. Кто будет какой код предлагать, пишите ваши данные для копирайта. Всех причастных добавлю и так буду эксплуатировать.
Есть корпоративный почтовый сервер, на нём стоит спам-фильтр. Работает он достаточно неплохо, но случаются ложно-позитивные срабатывания. Нужен небольшой скрипт помогающий с этим жить.
При срабатывании правил спама, полученной письмо набирает баллы, за каждое подозрительное содержимое или источник.
Бесплатная почта +2 балла, слова "купить недорого" например ещё 2 балла и т.д. таким образом спам письма набирают баллы, после например 8 (настраивается) - письмо становится спамом и помечается специальном тегом с количеством баллов внутри. Ниже примеры, которые полностью объяснят как это выглядит:
Итак:
1) Есть несколько учётных записей IMAP. Нужно анализировать в каждом ящике входящие письма на наличие куска "*****[SPAM(". Если его нет - ничего не делаем. И письмо должно остаться НЕ прочитанным.
2) Если кусок "*****[SPAM(" есть в заголовке нового входящего письма, то приступить к анализу цифр находящихся между "*****[SPAM(" и ")]*****" кусками. Т.е. получаем количество баллов из загловка, как число, которое можно сравнивать с условиями.
3) Сравнить это содержимое с интервалами:
от 8.0 до 15.0 - письмо перемещается в IMAP папку учётной записи с названием SPAM_8 и в этой папке остаётся
от 15.0 до 30.0 - письмо перемещается в IMAP папку учётной записи с названием SPAM_15 и в этой папке становится прочитанным
от 30.0 до 999.0 - письмо удаляется как будто его удалил пользователь (т.е. как штатными средствами).
Прежде чем зарегистрироваться я много читал этот форум, искал, пытался сделать то, что мне нужно самостоятельно, но часто даже в рабочих примерах, что-то идёт не так, а где-то темы брошены. Но некий вектор я определил.
Потому решил сделать свою тему, где будет решения задачи от и до. Если никто не поможет, то я постараюсь сам решить. Но с помощью гуру-VBA всё же это было быстрее.
Итак моя как я считаю интересная задача. И её решение не просто задачка, а совершенно практичная вещь, которая как начнёт помогать мне и людям уже завтра, так и думаю привлечёт новых людей на форум. Кто будет какой код предлагать, пишите ваши данные для копирайта. Всех причастных добавлю и так буду эксплуатировать.
Есть корпоративный почтовый сервер, на нём стоит спам-фильтр. Работает он достаточно неплохо, но случаются ложно-позитивные срабатывания. Нужен небольшой скрипт помогающий с этим жить.
При срабатывании правил спама, полученной письмо набирает баллы, за каждое подозрительное содержимое или источник.
Бесплатная почта +2 балла, слова "купить недорого" например ещё 2 балла и т.д. таким образом спам письма набирают баллы, после например 8 (настраивается) - письмо становится спамом и помечается специальном тегом с количеством баллов внутри. Ниже примеры, которые полностью объяснят как это выглядит:
Итак:
1) Есть несколько учётных записей IMAP. Нужно анализировать в каждом ящике входящие письма на наличие куска "*****[SPAM(". Если его нет - ничего не делаем. И письмо должно остаться НЕ прочитанным.
2) Если кусок "*****[SPAM(" есть в заголовке нового входящего письма, то приступить к анализу цифр находящихся между "*****[SPAM(" и ")]*****" кусками. Т.е. получаем количество баллов из загловка, как число, которое можно сравнивать с условиями.
3) Сравнить это содержимое с интервалами:
не
прочитаннымРешение задачи: «VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку»
textual
Листинг программы
numchar1 = InStr(mailmsg.Body, shablon$)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д