Получение IP адресов из заголовков писем
Для определения хостов, через которые прошло письмо, можно воспользоваться заголовками (Headers). Но просматривать каждое письмо очень не удобно, поэтому был написан скрипт, который записывает в отдельный файл список всех IP адресов из заголовков писем в какой-либо папке Microsoft Outlook.
Для работы скрипта требуется установленный плагин Potolook версии 4.1. Сохраните скрипт в виде файла copyIP.js:
var myOutlook = WScript.CreateObject('Outlook.Application');
var Potolook =
myOutlook.COMAddIns.Item('Potolook.PotolookMain').Object.scripts.CodeObject;
// Получаем текущую папку Microsoft Outlook:
var myFolder = myOutlook.ActiveExplorer.CurrentFolder;
// Можно получить любую папку в программе, вот так:
// myOutlook = myOutlook.GetNameSpace("MAPI");
// myFolder = myOutlook.GetDefaultFolder(6);
// myFolder = myFolder.Folders("Deep"); // Находимся в папке Citycat
// myFolder = myFolder.Folders("Компьютер"); // CityCat/Компьютер
// Таким образом добираемся до нужной папки...// Создаем объект для доступа к файлам
var FileObj = WScript.CreateObject("Scripting.FileSystemObject");
var myIPFile = "C:\\\\IPs\\\\ips.txt";
// Папка должна быть предварительно создана
var IPs = [];
for(i=1;i<=myFolder.Items.Count;i++){
eml = myFolder.Items(i);
try{
var headers =
Potolook.SafeMailItem(eml).Fields(Potolook.CdoPR_TRANSPORT_MESSAGE_HEADERS);
CheckHeaders(headers);
}catch(e){}
}
var myIPFile = FileObj.CreateTextFile(myIPFile,2,false);
var IpAll = '';
for(ip in IPs){ IpAll+= ip+'\\n'; }
myIPFile.Write(IpAll);
myIPFile.Close();
function CheckHeaders(h){
var re = /[\\d]{1,3}\\.[\\d]{1,3}\\.[\\d]{1,3}\\.[\\d]{1,3}/gi;
while ((arr = re.exec(h))!=null){
if(IPs[arr[0]]||
arr[0].indexOf('127.0.0.')>=0
) continue;
IPs[arr[0]] = [];
}
}
Скрипт может работать с любой папкой Microsoft Outlook, выбор которой осуществляется в начале. Результат записывается в файл, путь и имя которого тоже можно поменять.



Андрей @ 29 ноября 2006 23:19
Спасибо!
Но мне кажется это не очень поможет против спама, так как айпишники обычно - зомби машины :(