Differenze tra le versioni di "Leggere la posta elettronica con POP3 e SSL mediante le funzioni esterne del API di Libcurl"

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
 
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''"
  
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.
+
 
 +
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 alle 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 [https://it.wikipedia.org/wiki/Base64 Base64].
 
Eventuali allegati all'email saranno mostrati in formato ASCII secondo la codifica [https://it.wikipedia.org/wiki/Base64 Base64].

Versione delle 08:03, 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 alle 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



Riferimenti