Differenze tra le versioni di "Leggere la posta elettronica con POP3 e SSL mediante le funzioni esterne del API di Libcurl"
Riga 1: | Riga 1: | ||
− | ''' | + | '''Libcurl''' è una libreria gratuita lato-client di trasferimento dati con la sintassi URL, capace di supportare diversi protocolli. Essa consente - fra l'altro - di leggere la posta elettronica ricevuta. |
Per poter fruire in Gambas delle risorse della libreria ''Libcurl'', è necessario avere installata nel sistema e richiamare la libreria dinamica condivisa: "''libcurl.so''" | Per poter fruire in Gambas delle risorse della libreria ''Libcurl'', è necessario avere installata nel sistema e richiamare la libreria dinamica condivisa: "''libcurl.so''" |
Versione delle 04:15, 2 set 2016
Libcurl è una libreria gratuita lato-client di trasferimento dati con la sintassi URL, capace di supportare diversi protocolli. Essa consente - fra l'altro - di leggere la posta elettronica ricevuta.
Per poter fruire in Gambas delle risorse della libreria Libcurl, è necessario avere installata nel sistema e richiamare la libreria dinamica condivisa: "libcurl.so"
Va sottolineato che nel 3° argomento della funzione esterna curl_easy_setopt( ) - immediatamente dopo l'impostazione della url del Server della posta elettronica e separato da uno slash - va definito il numero d'indice della e-mail ricevuta che si intende leggere. Tale indice inizia da 1 ed il suo ordine crescente corrisponde con le e-mail più recenti (pertanto impostando il numero 1 si otterrà la lettura della e-mail più vecchia presente nella propria casella di posta elettronica.
Eventuali allegati all'email saranno mostrati in formato ASCII secondo la codifica Base64.
Mostriamo un esempio pratico:
Library "libcurl" Private Const CURLOPT_VERBOSE As Integer = 41 Private Const CURLOPT_URL As Integer = 10002 Private Const CURLOPT_USERNAME As Integer = 10173 Private Const CURLOPT_PASSWORD As Integer = 10174 ' CURL *curl_easy_init(void) ' Start a libcurl easy session. Private Extern curl_easy_init() As Pointer ' CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...) ' Set options for a curl easy handle Private Extern curl_easy_setopt(curl As Pointer, option As Integer, opts As String) As Integer ' CURLcode curl_easy_perform(CURL *curl) ' Perform a blocking file transfer. Private Extern curl_easy_perform(curl As Pointer) As Pointer ' const char *curl_easy_strerror(CURLcode) ' Turn a CURLcode value into the equivalent human readable error string. Private Extern curl_easy_strerror(CURLcode As Integer) As String ' void curl_easy_cleanup(CURL *curl) ' End a libcurl easy handle. Private Extern curl_easy_cleanup(curl As Pointer) Public Sub Main() Dim cu As Pointer Dim ris As Integer Dim l As Long cu = curl_easy_init() If cu = 0 Then Error.Raise("Impossibile inizializzare la libreria 'curl' !") ' Imposta il nome dell'utente dell'account email e la sua password: curl_easy_setopt(cu, CURLOPT_USERNAME, "nome_utente") curl_easy_setopt(cu, CURLOPT_PASSWORD, "password_utente") ' Imposta l'URL del mailserver dell'utente, nonché l'e-mail ricevuta: in questo caso sarà mostrato ' il testo della seconda email più antica presente nella casella di posta elettronica. curl_easy_setopt(cu, CURLOPT_URL, "pop3s://mainserver.esempio.it/2") ' Procede alla lettura della e-mail prescelta: ris = curl_easy_perform(cu) If ris <> 0 Then Error.Raise("Impossibile leggere la posta elettronica: " & curl_easy_strerror(i)) ' Va in chiusura: curl_easy_cleanup(cu) End