През инструмента Мейл филтър в cMailPro можете да следите мейл логовете на изходящите имейл съобщения.
В логовете се съдържат голям брой мета-данни за съобщението – време, техническа информация (IP, ID…), подател, получател, тема, статус и т.н.
Между изпращането на съобщението и появата на записа в лог файла има кратко закъснение, обикновено в рамките на 10 минути.
Филтърът е настроен да връща най-много 1000 резултата за конкретно запитване.
За да достъпите панела с логовете, влезте в клиентския ви профил » Бизнес имейл (cMailPro) » Настройки (за домейн).
В нов прозорец ще се зареди панела на приложението и в главната страница кликнете иконата Logs в секция Outgoing или линка Logs в подменюто Outgoing в навигационната лента:
Създаване на заявка (Query Rules)
На изображението виждате началния екран на приложението:
Можем да разделим панела на две области. В горната област се намират следните три полета:
- списък с елементите на съобщението;
- логически оператор;
- атрибути или стойности на елементите.
Заявката на разговорен език може да се прочете по следния начин: покажи ми съобщенията, изпратени през последните седем дни.
Ако кликнете бутона Show Results, ще се заредят всички налични (max 1000) записи за съобщения, изпратени от вашите пощенски акаунти към домейна:
Падащото меню предлага достъп до следните логически оператори:
previous – предишен (трябва да се въведе число в първото поле и да се избере една от опциите в полетата минути, часове, дни, седмици, месеци), показва съобщения, изпратени в интервала между посоченото и текущото време.
on – на дата (при кликане в полето се зарежда календар, в който избирате ден от месеца), показва съобщения, изпратени на посочената дата.
before – преди (при кликане в полето се зарежда календар, в който избираме дата; при кликане върху полето в долната част [Select Time] календара се превръща в часовник за точно настройване на времето); показва съобщения, изпратени преди посочените дата и час.
after – след (работи по същия начин както before), показва съобщения, изпратени след посочените дата и час.
between – между (при кликане в двете полета поотделено се настройва интервал от време по същия начин, както за операторите before и after), показва съобщенията, изпратени в посочения интервал.
Под падащото меню с елементите на заявката, означено с Quick select, има три линка, които автоматично изчисляват текущото време и при кликане създават следните заявки:
- Yesterday – показва съобщенията, изпратени през вчерашния ден;
- Last week – показва съобщенията, изпратени през предишната седмица (седем дни);
- Last month – показва съобщенията, изпратени през последния календарен месец (например 01.01 – 01.02).
Елементи на съобщението и логически оператори
Списъкът с елементи на имейл съобщенията, които може да използвате за филтриране на записите в лог файла, е твърде голям и голяма част от тях служи единствено на системни администратори с root достъп до мейл сървърите:
Различни групи от елементите в списъка ползват различни логически оператори, които ще разгледаме в тази част от статията. Най-голямата група елементи ползва логически оператор с опция по подразбиране contains, където всеки отделен оператор означава следното:
- Contains – съдържа – например дали адресът (support@demo.bg) на подателя съдържа израза sup;
- Does not contain – не съдържа;
- Equals – равно – в полето трябва да въведем пълното име, дума или цифра (support@demo.bg);
- Does not equal – не е равно;
- Starts with – започва – например дали адресът (support@demo.bg) на подателя започва с sup;
- Ends with – завършва – например дали адресът (support@demo.bg) на подателя завършва с bg;
- Matches – съвпада – например дали адресът (support@demo.bg) на подателя съвпада с support@demo.bg;
- Does not match – не съвпада.
В примера заявката означава следното – покажи всички писма, в които адресът на получателя съдържа dir – като резултат се зареждат всички писма, изпратени до пощи в dir.bg:
Следващата група съдържа само два логически оператора:
- is – e – например дали локацията на подателя е на посоченото място;
- is not – не е.
При кликане в текстовото поле и въвеждане на няколко букви на латиница се зарежда списък с предположения, от които може да изберете това, което считате за подходящо – само за примера избираме Germany:
В резултат на тази заявка ще се заредят само писма, изпратени от Германия.
Група от математически оператори, които се използват за сравнение на числа (в случая – размер на писмо):
- Equals – равно – в полето трябва да въведем само число;
- Does not equal – не е равно.
Заявката в примера означава – покажи всички изпратени писма с размер по-голям от 9999 bytes:
Размерът за сравнение трябва да бъде посочен в байтове (bytes), при въвеждане на съкращение ще получите грешка:
Следващите оператори следят, най-общо казано, за принадлежност към множество:
- is one of – е един от – дали в лог файла има записи за писма, които принадлежат към някой от класовете в посочената група;
- is not one of – не е един от;
- matches – съвпада – ако е посочен само един клас;
- does not match – не съвпада с посочения клас.
Когато кликнем в полето и започнем да пишем, автоматично се зарежда списък с предположения, от които може да изберем онова, което считаме за подходящо:
За улеснение софтуерът ни предлага два линка с готови класове:
Good mail – всички класове означават писмо с легитимно съдържание, което не задейства никакви защитни филтри:
Bad mail – всички форми на нежелани писма:
Елементът Статус на писмо е един от най-често използваните, тъй като логично е да проверяваме кои писма не са доставени, за да изпратим ново писмо или за да опитаме да се свържем с получателя по друг начин.
Статус елементът ползва същата група оператори, но съдържа други групи с атрибути:
Accepted – приети:
Not accepted – отхвърлени:
Може да използвате само един атрибут, например bounced, като изтриете всички останали класове от готовия линк или като кликнете в полето и изберете съответния клас от списъка с предложения:
Елементът Delivery port използва следните оператори за сравняване:
- Equals – равно – в полето трябва да въведем само номер на порт;
- Does not equal – не е равно;
- Greater than – по-голямо;
- Less than – по-малко;
- Greater than or Equals – по-голямо или равно;
- Less than or Equals – по-малко или равно.
Заявката означава: покажи всички писма, които са изпратени на по-висок порт от 26. Резултат – нула изпратени писма.
В същата заявка сменяме само оператора и виждаме, че всички писма са изпратени през порт, по-малък от 26 (т.е. през стандартния SMTP порт 25):
С този пример завършихме представянето на логическите оператори, които ползват елементите от писмата.
В таблицата по-долу показваме какво означават отделните елементи:
Име на елемент | Означава |
---|---|
Message ID | ID на съобщението |
Filtering host | Филтриращ хост |
Timestamp | Дата и час |
Auth username | Удостоверяване на потребителско име |
Identity | Идентичност |
Sender | Подател |
Recipient | Получател |
Sender hostname | Хост име на подателя |
Sender IP | IP адрес на подателя |
Sender location | Местоположение на подателя |
Bytes received | Получени байтове |
Bytes sent | Изпратени байтове |
Main class | Основен клас |
Sub class | Подклас |
Extra class | Екстра клас |
Error class | Клас на грешка |
From | От, адрес на подателя на писмото |
To | До, адрес на получателя на писмото |
CC | Адрес за изпращане на копие на писмото |
Subject | Тема на писмото |
Original message ID | Идентификатор на оригиналното съобщение |
Status | Статус |
Delivery date | Дата на доставяне |
Delivery IP | IP на доставяне |
Delivery hostname | Хост име на доставчика |
Delivery port | Порт за доставяне |
Delivery data | Данни за доставяне |
Delivery interface | Интерфейс за доставяне |
На следващия ред има три панела, през които указвате как да бъдат подредени резултатите при изпълнение на заявка.
В първия панел Group results by от падащия списък с елементи може да изберете някой от елементите, според който да бъдат подредени писмата. Например Timestamp (дата и час), Status (статус) или Sender (подател):
При кликане в панела Group results by се зарежда панел Sort от който управлявате как да бъдат подредени писмата: по азбучен и възходящ ред (Ascending) или обратно (Descending):
В третия панел избирате кои елементи да бъдат публикувани, като маркирате полето пред името на елемента. Трябва да има маркиран поне един елемент, за да се публикуват резултатите от заявката:
Добавяне на правила в заявка
Дотук разгледахме елементите и логическите оператори, с които филтрираме съобщенията в лог файла.
При 50 тестови писма, изпратени от два акаунта, в примерите се справяхме прилично със заявка към един елемент и сортиране на резултатите спрямо друг елемент.
Но когато говорим за професионална имейл услуга с връщане на 1000 резултата от всяко запитване и работа със стотици акаунти става ясно, че първоначалната схема на създаване на заявки не може да бъде ефективна и големи масиви от вече филтрирани резултати ще трябва допълнително да бъдат обработвани ръчно.
Тук на помощ идва възможността да добавяме филтри и да създаваме комплексни и конкретни запитвания, които да връщат малък брой прецизни резултати.
В примера по-долу използваме само една заявка без сортиране и в резултат получаваме списък с всички изпратени писма:
Ако приложим към заявката сортиране спрямо елемента Sender (подател), резултатите се подреждат по акаунти:
Сортиране по Status (статус) ни показва първо всички върнати писма – това вероятно е най-често използваната функция на филтъра:
Сега нека добавим нови правила към заявката. Това става като кликнем линка +New rule под заявката. Появява се второ поле, в което създаваме втора заявка към друг елемент, в допълнение към първата. Може да добавим трета заявка по същия начин, за да конкретизираме максимално заявката с цел получаване на малък брой прецизни резултати.
Обърнете внимание на групата вдясно от етикета Query Rules – Match – радио бутон с две състояния – All (всички) и Any (който и да е).
Заявката от примера означава следното: покажи всички върнати съобщения, изпратени от акаунт, който започва с def и тема, съдържаща lorem. Филтърът Match e в положение All (всички), така че като резултат ще получим писмо, което отговаря на всички три изисквания:
Ако превключим филтъра Match от All (всички) на Any (който и да е), като резултат ще получим всички писма, които отговарят поне на една от заявките:
Използването на филтъра Any (който и да е) донякъде обезсмисля добавянето на нови правила, тъй като вместо да конкретизира резултата, той го разширява.
Кликане на линка Х Reset rules изтрива всички създадени нови правила и рестартира филтъра в началното състояние по подразбиране с елемента Timestamp.
В конкретния пример въпросното писмо може да бъде открито и само с една конкретна заявка за темата на писмото и сортиране спрямо статуса:
Възможностите на софтуера за филтриране на резултатите в лог файла са огромни и е въпрос на време и практика да се разбере логиката на системата и да се създават прецизни заявки за търсене.