07. april 2003 - 15:33
Der er
3 kommentarer
databaseprogrammering.
Hej, alle.
Jeg er i gang med at lave en webbaseret mailserver og har lidt problemer med min database. Meningen er at hente mailen fra ISP'ens mailserver, splitte "headeren" op og lægge den i database, samt selve "mailen". Jeg har hørt at det skulle måske være lidt nemmere hvis man bruger Unix/Linux filer men må indrømme at jeg ikke er så god til Unix/Linux. Koden skal være skrevet i C++ og skal kunne arbejde sammen med MSQL (ikke MySQL) og linux.
Er der nogen derude som har lidt tid tilovers og kan hjælpe mig lidt hen ad vejen.
Mange tak,
Cosmic Debris
08. april 2003 - 19:54
#1
Der er godt nok ikke lige noget MySQL på den, men håber da den kan give lidt hjælp:
#include <comdef.h>
#include "ANPOP.h"
#include "ANPOP_i.c"
//Opret forbindelsen:
IPOPMAIN* pConnection = NULL;
IPOPMSG* pMessage = NULL;
HRESULT hr = ::CoInitialize( NULL );
hr = ::CoCreateInstance( CLSID_POPMAIN,
NULL,
CLSCTX_ALL,
IID_IPOPMAIN,
(LPVOID*)&pConnection );
_ASSERT( SUCCEEDED( hr ) && pConnection != NULL );
hr = ::CoCreateInstance( CLSID_POPMSG,
NULL,
CLSCTX_ALL,
IID_IPOPMSG,
(LPVOID*)&pMessage );
_ASSERT( SUCCEEDED( hr ) && pMessage != NULL );
//Tilslut til mail serveren:
long lRet = 1;
pConnection->Connect( _bstr_t("pop3.EnServer.com"), _bstr_t("hej"),
_bstr_t("DitPassword"), &lRet );
if( lRet == 0 )
{
//Vis antallet af mails på serveren:
pConnection->GetTotalOfMails( &lRet );
long lLen = lRet;
for( int i = 0 ; i < lLen; i++ )
{
//Gem hver mail:
BSTR bstrOut = NULL;
pConnection->Retrieve( i+1, &bstrOut );
pMessage->put_RawContent( bstrOut );
TCHAR szBuf[256];
::wsprintf( szBuf, "%s\\%d.eml", "c:\\",
i+1 );
pMessage->ExportFile( _bstr_t( szBuf ), &lRet );
::SysFreeString( bstrOut );
bstrOut = NULL;
}
}
pConnection->Close();
pConnection->Release();
pConnection = NULL;
pMessage->Release();
pMessage = NULL;
::CoUninitialize();
08. april 2003 - 21:20
#2
Hvilket program er dette skrevet i? C++ builder? De der #includes (anpop osv.) kender jeg ikke...kan du uddybe lidt nærmere og evt. tilføje lidt flere forklaringer i gennem koden? Ellers skal du have 1000 tak for hjælpen.
Cosmic Debris