Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку / 3 сообщений из 3, страница 1 из 1
16.08.2015, 23:44
    #39030442
balamutick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку
Привет всем.
Прежде чем зарегистрироваться я много читал этот форум, искал, пытался сделать то, что мне нужно самостоятельно, но часто даже в рабочих примерах, что-то идёт не так, а где-то темы брошены. Но некий вектор я определил.

Потому решил сделать свою тему, где будет решения задачи от и до. Если никто не поможет, то я постараюсь сам решить. Но с помощью гуру-VBA всё же это было быстрее.
Итак моя как я считаю интересная задача. И её решение не просто задачка, а совершенно практичная вещь, которая как начнёт помогать мне и людям уже завтра, так и думаю привлечёт новых людей на форум. Кто будет какой код предлагать, пишите ваши данные для копирайта. Всех причастных добавлю и так буду эксплуатировать.


Есть корпоративный почтовый сервер, на нём стоит спам-фильтр. Работает он достаточно неплохо, но случаются ложно-позитивные срабатывания. Нужен небольшой скрипт помогающий с этим жить.

При срабатывании правил спама, полученной письмо набирает баллы, за каждое подозрительное содержимое или источник.
Бесплатная почта +2 балла, слова "купить недорого" например ещё 2 балла и т.д. таким образом спам письма набирают баллы, после например 8 (настраивается) - письмо становится спамом и помечается специальном тегом с количеством баллов внутри. Ниже примеры, которые полностью объяснят как это выглядит:

пример типичных заголовков спама *****[SPAM(8.0 )]***** Юридические услуги в Литве
*****[SPAM(12.3 )]***** Любые города России и отрасли
*****[SPAM(32.6 )]***** Высококачественные изделия из лиственницы для внутренней отделки помещений.

Итак:

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 - письмо удаляется как будто его удалил пользователь (т.е. как штатными средствами).
...
Рейтинг: 0 / 0
16.08.2015, 23:53
    #39030446
balamutick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку
Забыл добавить. VBA 6.5 (Outlook 2007).


Тема с форума, довольно близкая к моим задачам, вот эта: обработка всех входящих писем Outlook

Исходный пример у меня не работает, спотыкается на
Код: plaintext
numchar1 = InStr(mailmsg.Body, shablon$)

а пример про "сохранения вложений", идущий четвёртым постом, попробую капнуть глубже.
...
Рейтинг: 0 / 0
19.08.2015, 01:06
    #39031966
balamutick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку
Прикинул, что это может загружать процессор и давать паузы при приходе писем, а спама валиться так то много, просто сейчас он никак не доходит до людей.

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

Есть язык сортировки писем sieve (RFC3028), который существует уже с 2001 года и прекрасно делает подобную задачу.


Потому написание подобной программы в данном случае не очень рационально.

Хотя из учебных целей, я может быть и занялся.
Будет время, напишу как я бы это реализовал.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Outlook анализ темы входящих, при наличии ключа, анализировать число и класть в папку / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]