1. Начало
  2. Имейл
  3. Бизнес поща
  4. Outgoing mail – проверка за писма в мейл лог (cMailPro)

Outgoing mail – проверка за писма в мейл лог (cMailPro)

През меню Мейл филтър в cMailPro можете да следите мейл логовете на изходящите имейл съобщения.

В логовете се съдържат голям брой мета-данни за съобщението – време, техническа информация (IP, ID…), подател, получател, тема, статус и т.н.

Между изпращането на съобщението и появата на записа в лог файла има кратко закъснение, обикновено в рамките на 10 минути.

Филтърът е настроен да връща най-много 1000 резултата за конкретно запитване.

За да достъпите панела с логовете, отворете контролния панел на cMailPro – клиентски профил » Бизнес мейл (cMailPro) » Настройки (за домейн). В панела изберете Бизнес Мейл » Управлявай (за домейн) » cMailPro management и Мейл филтър.

В нов прозорец ще се зареди панела на приложението и в главната страница кликнете иконата Logs в секция Outgoing или линка Logs в подменюто Outgoing в навигационната лента:

Outgoing - Logs

Създаване на заявка (Query Rules)

На изображението виждате началния екран на приложението:

Начален екран на приложението Logs

Можем да разделим панела на две области. В горната област се намират следните три полета:

  • списък с елементите на съобщението;
  • логически оператор;
  • атрибути или стойности на елементите.

Заявката на разговорен език може да се прочете по следния начин: покажи ми съобщенията, изпратени през последните седем дни.

Ако кликнете бутона Show Results, ще се заредят всички налични (max 1000) записи за съобщения, изпратени от вашите пощенски акаунти към домейна:

Списък с наличните записи за изпратени съобщения

Падащото меню предлага достъп до следните логически оператори:

Списък с логически оператори в меню

previous – предишен (трябва да се въведе число в първото поле и да се избере една от опциите в полетата минути, часове, дни, седмици, месеци), показва съобщения, изпратени в интервала между посоченото и текущото време.

Логически оператор previous

on – на дата (при кликане в полето се зарежда календар, в който избирате ден от месеца), показва съобщения, изпратени на посочената дата.

Логически оператор ON

before – преди (при кликане в полето се зарежда календар, в който избираме дата; при кликане върху полето в долната част [Select Time] календара се превръща в часовник за точно настройване на времето); показва съобщения, изпратени преди посочените дата и час.

Логически оператор before календар

after – след (работи по същия начин както before), показва съобщения, изпратени след посочените дата и час.

Логически оператор before часовник

between – между (при кликане в двете полета поотделено се настройва интервал от време по същия начин, както за операторите before и after), показва съобщенията, изпратени в посочения интервал.

Логически оператор between

Под падащото меню с елементите на заявката, означено с 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:

Заявка с оператор Contains

Следващата група съдържа само два логически оператора:

Група оператори is и is not
  • ise – например дали локацията на подателя е на посоченото място;
  • is notне е.

При кликане в текстовото поле и въвеждане на няколко букви на латиница се зарежда списък с предположения, от които може да изберете това, което считате за подходящо – само за примера избираме Germany:

Избор на атрибут от списък

В резултат на тази заявка ще се заредят само писма, изпратени от Германия.

Заявка с оператор is

Група от математически оператори, които се използват за сравнение на числа (в случая – размер на писмо):

Списък с оператори за сравнение на числа
  • Equalsравно – в полето трябва да въведем само число;
  • Does not equalне е равно.

Заявката в примера означава – покажи всички изпратени писма с размер по-голям от 9999 bytes:

Заявка за писма с определен размер

Размерът за сравнение трябва да бъде посочен в байтове (bytes), при въвеждане на съкращение ще получите грешка:

Грешка при въвеждане на различен формат

Следващите оператори следят, най-общо казано, за принадлежност към множество:

Оператори за принадлежност към множество
  • is one ofе един от – дали в лог файла има записи за писма, които принадлежат към някой от класовете в посочената група;
  • is not one ofне е един от;
  • matchesсъвпада – ако е посочен само един клас;
  • does not matchне съвпада с посочения клас.

Когато кликнем в полето и започнем да пишем, автоматично се зарежда списък с предположения, от които може да изберем онова, което считаме за подходящо:

Избор на атрибути от списък

За улеснение софтуерът ни предлага два линка с готови класове:

Good mail – всички класове означават писмо с легитимно съдържание, което не задейства никакви защитни филтри:

Готови класове Good mail

Bad mail – всички форми на нежелани писма:

Готови класове Bad mail

Елементът Статус на писмо е един от най-често използваните, тъй като логично е да проверяваме кои писма не са доставени, за да изпратим ново писмо или за да опитаме да се свържем с получателя по друг начин.

Статус елементът ползва същата група оператори, но съдържа други групи с атрибути:

Елемент Статус на писмо

Acceptedприети:

Елемент Статус на писмо атрибути Accepted

Not acceptedотхвърлени:

Елемент Статус на писмо атрибути Not accepted

Може да използвате само един атрибут, например bounced, като изтриете всички останали класове от готовия линк или като кликнете в полето и изберете съответния клас от списъка с предложения:

Използване на само един атрибут

Елементът Delivery port използва следните оператори за сравняване:

Елемент Delivery port
  • Equalsравно – в полето трябва да въведем само номер на порт;
  • Does not equalне е равно;
  • Greater thanпо-голямо;
  • Less thanпо-малко;
  • Greater than or Equalsпо-голямо или равно;
  • Less than or Equalsпо-малко или равно.

Заявката означава: покажи всички писма, които са изпратени на по-висок порт от 26. Резултат – нула изпратени писма.

Съобщение Не са открити резултати

В същата заявка сменяме само оператора и виждаме, че всички писма са изпратени през порт, по-малък от 26 (т.е. през стандартния SMTP порт 25):

Списък с получени резултати

С този пример завършихме представянето на логическите оператори, които ползват елементите от писмата.

В таблицата по-долу показваме какво означават отделните елементи:

Име на елементОзначава
Message IDID на съобщението
Filtering hostФилтриращ хост
TimestampДата и час
Auth usernameУдостоверяване на потребителско име
IdentityИдентичност
SenderПодател
RecipientПолучател
Sender hostnameХост име на подателя
Sender IPIP адрес на подателя
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 IPIP на доставяне
Delivery hostnameХост име на доставчика
Delivery portПорт за доставяне
Delivery dataДанни за доставяне
Delivery interfaceИнтерфейс за доставяне

На следващия ред има три панела, през които указвате как да бъдат подредени резултатите при изпълнение на заявка.

В първия панел Group results by от падащия списък с елементи може да изберете някой от елементите, според който да бъдат подредени писмата. Например Timestamp (дата и час), Status (статус) или Sender (подател):

Панел Group results by

При кликане в панела Group results by се зарежда панел Sort от който управлявате как да бъдат подредени писмата: по азбучен и възходящ ред (Ascending) или обратно (Descending):

Допълнителен панел Sort

В третия панел избирате кои елементи да бъдат публикувани, като маркирате полето пред името на елемента. Трябва да има маркиран поне един елемент, за да се публикуват резултатите от заявката:

Избор на елементи за публикуване Customise

Добавяне на правила в заявка

Дотук разгледахме елементите и логическите оператори, с които филтрираме съобщенията в лог файла.

При 50 тестови писма, изпратени от два акаунта, в примерите се справяхме прилично със заявка към един елемент и сортиране на резултатите спрямо друг елемент.

Но когато говорим за професионална имейл услуга с връщане на 1000 резултата от всяко запитване и работа със стотици акаунти става ясно, че първоначалната схема на създаване на заявки не може да бъде ефективна и големи масиви от вече филтрирани резултати ще трябва допълнително да бъдат обработвани ръчно.

Тук на помощ идва възможността да добавяме филтри и да създаваме комплексни и конкретни запитвания, които да връщат малък брой прецизни резултати.

В примера по-долу използваме само една заявка без сортиране и в резултат получаваме списък с всички изпратени писма:

Заявка без сортиране

Ако приложим към заявката сортиране спрямо елемента Sender (подател), резултатите се подреждат по акаунти:

Сортиране по Sender

Сортиране по Status (статус) ни показва първо всички върнати писма – това вероятно е най-често използваната функция на филтъра:

Сортиране по Status

Сега нека добавим нови правила към заявката. Това става като кликнем линка +New rule под заявката. Появява се второ поле, в което създаваме втора заявка към друг елемент, в допълнение към първата. Може да добавим трета заявка по същия начин, за да конкретизираме максимално заявката с цел получаване на малък брой прецизни резултати.

Обърнете внимание на групата вдясно от етикета Query RulesMatch – радио бутон с две състояния – All (всички) и Any (който и да е).

Заявката от примера означава следното: покажи всички върнати съобщения, изпратени от акаунт, който започва с def и тема, съдържаща lorem. Филтърът Match e в положение All (всички), така че като резултат ще получим писмо, което отговаря на всички три изисквания:

Заявка с три изисквания

Ако превключим филтъра Match от All (всички) на Any (който и да е), като резултат ще получим всички писма, които отговарят поне на една от заявките:

Заявка за изпълнение на едно от три изисквания

Използването на филтъра Any (който и да е) донякъде обезсмисля добавянето на нови правила, тъй като вместо да конкретизира резултата, той го разширява.

Кликане на линка Х Reset rules изтрива всички създадени нови правила и рестартира филтъра в началното състояние по подразбиране с елемента Timestamp.

В конкретния пример въпросното писмо може да бъде открито и само с една конкретна заявка за темата на писмото и сортиране спрямо статуса:

Заявка за сортиране по статус

Възможностите на софтуера за филтриране на резултатите в лог файла са огромни и е въпрос на време и практика да се разбере логиката на системата и да се създават прецизни заявки за търсене.

Обновена: 11.01.2022

Беше ли Ви полезна тази статия?

Вижте още