Puoi darmi qualche suggerimento.
Puoi fare in due modi: quello "difficile", usando solo Gambas (ma certo ti potrebbe riservire), e quello facile, usando un programma via shell (eleganza=0, imho, la shell mi piace usarla solo quando e' davvero necessario).
Quando ti connetti al server pop3, questo ti richiede un nome utente, facendoti apparire la stringa USER, e tu rispondi con il nome di login. Poi, ti chiedera' PASS, ed ecco la tua password da mandare. Cosi' loggato, gli spedisci un comando STAT o UIDL, con TOP puoi prendere le prime righe del messaggio per vedere se l'hai gia'. Ma e' meglio stia zitto, adesso vado a memoria (scrissi un client quasi 20 anni fa ormai), ti conviene leggere la rfc 1939.
Ma di sicuro, posso provare a suggerirti di usare gb.net. In nntp, ti parlo di questo perche' di fatto qui ho solo questo, per esempio la connessione puoi svilupparla cosi' (l'esempio e' grezzo e privo di controllo errori, e ho cercato di semplificare piu' possibile, togliendo anche cose importanti):
PUBLIC MySock AS Socket
PUBLIC Testo AS String
PUBLIC status AS String
PUBLIC MyDir AS String = User.home &/ "ggnews"
PUBLIC res AS Integer
PUBLIC SUB Connessione(servername AS String, porta AS Integer, utente AS String, password AS String)
DIM sBuf AS String
DIM Dati AS String
DIM s AS String[]
DIM Gruppo AS String
MySock.Connect(servername, porta)
DO WHILE (MySock.Status <> 7) AND (MySock.Status > 0)
WAIT 0.1
LOOP
IF MySock.Status <> 7 THEN
PRINT "Error"
QUIT
END IF
DO WHILE Lof(MySock) = 0
WAIT 0.1
LOOP
READ #MySock, sBuf, Lof(MySock)
PRINT sbuf
'autentificazione
IF Left(sbuf, 4) = "200 " THEN
sbuf = ""
dati = "AUTHINFO USER " & utente & "\n"
WRITE #MySock, DATI, Len(DATI)
DO WHILE Lof(MySock) = 0
WAIT 0.1
LOOP
READ #MySock, sBuf, Lof(MySock)
PRINT sBuf
IF Left(sbuf, 4) = "381 " THEN
sbuf = ""
dati = "AUTHINFO PASS " & password & "\n"
WRITE #MySock, DATI, Len(DATI)
DO WHILE Lof(MySock) = 0
WAIT 0.1
LOOP
READ #MySock, sBuf, Lof(MySock)
PRINT sBuf
ENDIF
'controllo
IF Left(sbuf, 4) = "281 " THEN
PRINT "Sei dentro"
ENDIF
Credo pero' che si capisca il senso: dopo la connessione, mandi un comando al server, e lui ti risponde con un qualcosa (i numeri tipo "281" sono i codici di risposta che uso qui per interpretare le risposte, ovviamente il server pop3 ha cose diverse: per esempio, quando ti connetti, ti risponde subito con qualcosa tipo "+OK POP3 server ready" (+OK" e' quello che interessa). Ecco, il lavoro lo puoi fare leggendo la RFC 1939, connettendoti e vedendo con un PRINT o che vuoi la risposta (io usavo printare perche' era un'applicazione a linea di comando), analizzi quello che ti risponde e prosegui inserendo il comando successivo: cosi' sembra complicatissimo, ma in realta' non lo e'. Se vuoi vedere "live" i comandi che dai e il loro effetto, puoi sempre connetterti da terminale e dare i comandi col telnet:
telnet pop3server.com 110
Scusa per come ti ho esposto la risposta, ma scrivere sui forum per me e' da panico...