Взываю к помощи посетителей этого топа )
Вопрос конечно ламерозный, но что поделаешь..., а вдруг кто поможет
Наткнулся я тут на днях на однин исходник и вспомнил, что и самому такая прога давно уже нужна, и самое главное - искал раньше, нигде не мог найти готовой.
Собсно прога должна выдирать автоматом с сохраненных eml писем аттачи и складывать в другую папку их, в исходнике вроде как раз то, что надо.
Ну, не знаю я С++, ладно еще это.., скомпилить не слишком существенная проблема, компилил и на c++, когда сильно нужно было, но с этим (
Пришел в итоге здесь к выводу, что используется NET Framework, этой гадости для разработчиков у меня не имеется.
Тут есть еще ошибки видимо, насколько я понял.
#using <mscorlib.dll> - это вообще хз что..
CLSC TX_SERVER - это должно по идее слитно писаться...
Посмотрите, плз, кто в этом разбирается )
Мож кто поможет скомпилить эту софтину?
Цитирую, как было в оригинале:
Цитата:
Компилировалось в Visual C++ v7.0,Win 2000Pro. Проверено работает... Успехов
// This is the main project file for VC++ application project
// generated using an Application Wizard.
#include "stdafx.h"
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace raw_interfaces_only
#import <cdosys.dll> no_namespace raw_interfaces_only
#include <iostream.h>
#include <wchar.h>
#using <mscorlib.dll>
#include <tchar.h>
using namespace System;
// This is the entry point for this application
int _tmain(int argc,char* argv[])
{
// TODO: Please replace the sample code below with your own.
CoInitialize(NULL);
IDropDirectory* pDropDir = NULL;
IMessages* pMsgs = NULL;
IMessage* pMsg = NULL;
IBodyParts* pBodys = NULL;
IBodyPart* pBody = NULL;
_Stream* pStream = NULL;
long msgs_cnt = 0;
long attach_cnt = 0;
BSTR msg_name;
BSTR fname;
BSTR path_sav;
CoCreateInstance(__uuidof(DropDirectory),NULL,CLSC TX_SERVER,
__uuidof(IDropDirectory),(void**)&pDropDir);
pDropDir->GetMessages(L"c:\\mailroot",&pMsgs);
pMsgs->get_Count(&msgs_cnt);//кол-во сообщений в папке
cout << "message count: " << msgs_cnt << endl;
//проходим последовательно по всем письмам
for(long i=1;i<=msgs_cnt;i++)
{ pMsgs->get_Item(i,&pMsg);//берем очередное письмо в каталоге
pMsg->get_Attachments(&pBodys);//ссылка на тело приаттаченных файлов
pBodys->get_Count(&attach_cnt);//количество приаттаченных файлов в мессаге
for(long j=1;j<=attach_cnt;j++)//перебираем последовательно файлы и сохраняем их на диске
{
pBodys->get_Item(j,&pBody);
pBody->get_FileName(&fname);
cout << "Saved attached file " << _bstr_t(fname) << endl;
pBody->GetDecodedContentStream(&pStream);
path_sav = _bstr_t("c:\\mailroot\\")+fname;
pStream->SaveToFile(path_sav,adSaveCreateOverWrite);//сохраняем файл
}//end for j
}//end for i
CoUninitialize();
return 0;
}