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 Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку»

    textual
    Листинг программы
    numchar1 = InStr(mailmsg.Body, shablon$)

    ИИ поможет Вам:


    • решить любую задачу по программированию
    • объяснить код
    • расставить комментарии в коде
    • и т.д
    Попробуйте бесплатно

    Оцени полезность:

    9   голосов , оценка 3.778 из 5
    Похожие ответы