Avatar billede ziggy6 Nybegynder
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
Avatar billede dcgeek Nybegynder
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();
Avatar billede ziggy6 Nybegynder
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
Avatar billede dcgeek Nybegynder
09. april 2003 - 11:43 #3
Anpop er ikke gratis, men du kan prøve en demo her:
http://www.adminsystem.net/webapp/downloads.asp
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester