Per quanto riguarda la prima questione, te l'ho detto, non recuperi il messaggio perchè il comando TOP non ha quella sintassi, il codice li ha un bug, io ho modificato la sub GetMessage della classe POP in questo modo e mi funziona bene:
Public Sub getMessage(ByVal intMessageNum As Integer)
'Dim intHeaderEnd As Integer
Dim strHeader As String
'controllo che sia connesso
_strMessage = ""
If blnConnect Then
_strMessage = executeCommand("RETR " + intMessageNum.ToString())
'controllo che il messaggio sia stato ricevuto
If chekMessage(_strMessage) Then
'cerco la fine degli header, e la fine è caratterizzata dalla prima
'riga dopo due a capi
Dim headerEnd As Integer = _strMessage.IndexOf(vbCrLf & vbCrLf)
If headerEnd > 0 Then
strHeader = _strMessage.Substring(0, headerEnd)
'imposto gli header
getHeader(strHeader)
'reimposto il testo del messaggio
_strMessage = _strMessage.Replace(strHeader, "")
End If
End If
End If
End Sub
per quanto riguarda la seconda domanda, è ovvio che se ti colleghi con alice non puoi (normalmente) scaricare la posta di libero e viceversa. Se vuoi fare per forza una cosa del genere devi ricorrere a software che ti installano un server pop sul tuo pc, uno buono è freepops:
http://www.freepops.org/it/
qui: http://www.chicchedicala.it/2007/11/30/leggere-le-email-di-libero-su-outlook-express-guida-freepops/ c'è una guida che ti illustra come far funzionare freepops.