- Presentación.
        SMTP es un protocolo para enviar correos a tu servidor. 
  POP es un protocolo para tomar los correos que están en tu servidor. 
        ______________
          1.- SMTP.
            
    - Si tenemos una cuenta en Gmail, podemos enviar correos a través de esa cuenta mediante un programa en Basic4Android.
        
        
          
            | Código
 | 
          
            | 
 La información sobre SMTP la podemos encontrar en la Guía oficial:
 
 https://www.b4x.com/android/help/net.html#smtp
 - Es necesario entrar en gmail y abrirse una cuenta gratuita. - Gmail utiliza el puerto 465 para la comunicación por correo SMTP.  - Para que funcione es necesario la librería: Net library - Android FTP, SMTP and POP3  La librería la componen un par de archivos: Net.jar y Net.xml que se guardan en la carpeta:C\Archivos de programa (x86)\Anywhere Software\Basic4Android\Libraries
 
 Luego la marcamos en el programa... 
 
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
Dim SMTP As SMTP
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
    SMTP.Initialize("smtp.gmail.com", 465, "micorreodegmail@gmail.com", "micontraseñadegmail", "SMTP")
    SMTP.UseSSL = True 'Gmail requires SSL.
End If
    SMTP.To.Add("aquienleenvioelcorreo@loquesea.com")
    SMTP.Subject = "Aquí pondremos el asunto"
    SMTP.Body = "Aquí pondremos el cuerpo del mensaje"
    ' Si queremos adjuntar un archivo
    ' SMTP.AddAttachment(File.DirRootExternal, "somefile")
    SMTP.Send
End Sub
Sub SMTP_MessageSent(Success As Boolean)
Log(Success)
If Success Then
        ToastMessageShow("El mensaje se envío correctamente", True)
    Else
        ToastMessageShow("Error en el envío del mensaje", True)
        Log(LastException.Message)
End If
End Sub  ' Podemos mejorar el programa añadiendo EditText y Label y utilizar variables, para que podamos escribir textos, el correo a quién lo queremos enviar...  ' Copiamos y pegamos este código y luego pulsamos el triángulo de ejecutar. Se enviará un mensaje a la cuenta: aquienleenvioelcorreo@loquesea.com    | 
        
        _____________________________________
    2.- POP3
        Mediante POP podemos capturar los correos de nuestro servidor.
              En el foro bajamos la aplicación: MailParser.zip 
        Con ella podemos obtener los correos existentes en nuestro servidor de correo.
  Modificamos la línea...
        pop.Initialize("pop.gmail.com",995,"micuentadegmail@gmail.com","miclavedegmail","pop")
        pop.Initialize("pop3.live.com",995,"micuentadehotmail@hotmail.com","miclavedehotmail","pop")
         
        En la parte del Log obtenemos los correos.
        - De gmail solo obtenemos el último correo.
    - Se puede intentar poner como nombre de usuario recent:
    pop.Initialize("pop.gmail.com",995,"recent:micuentadegmail@gmail.com","miclavedegmail","pop") 
    - Probar con otros servidores.
    - Probar con un dispositivo real.
        ____________________________________________________________
        3.- Ver un listado de los archivos que están en la carpeta File.
        Dentro de cada carpeta de programa hay una subcarpeta llamada File, en ella suele estar el layout.bal, imagenes, sonidos...
        Los archivos de esta carpeta son estáticos, es decir, los podemos introducir mientras realizamos el programa, pero cuando el programa está en funcionamiento no podemos crear ni manipular archivos en esa carpeta, es un directorio de solo lectura.
        El directorio File, se representa en el código mediante: File.DirAssets 
        Para ver un listado de los archivos existentes en la carpeta Files mediante código podemos hacerlo así...
         
        
        
Dim Lista As List
Dim i As Int
    
Lista.Initialize 
Lista.AddAll(File.ListFiles(File.DirAssets)) 
Msgbox("Archivos = " & Lista.Size, "") 
For i = 0 To Lista.Size - 1 
Msgbox(Lista.Get(i), "") 
Next
         
        ___________________________
  4.- Otra manera de ver un listado de archivos que están en la carpeta Files.
        
  En este caso hace un listado de los archivos que extensión .txt que existen en esa carpeta.
        
          
            |  | 
          
            | ' http://www.basic4ppc.com/forum/basic4android-updates-questions/20718-path-assetsdir-does-not-exist.html   
'Read available files
Dim AllFiles As List
AllFiles.Initialize
AllFiles.AddAll(File.ListFiles(File.DirAssets))
Dim myDropDown As Spinner
myDropDown.Initialize("myDropDown")
Dim text As String
For I = 0 To AllFiles.Size -1
text = AllFiles.Get(I)
If text.IndexOf(".txt") > - 1 Then
myDropDown.Add(text)
End If 
Next
'Let the user select a file
Dim cd As CustomDialog
cd.AddView(myDropDown, 0, 0, 300, 40)
cd.Show("DropDown Title", "OK", "Cancel", "", Null)
text = myDropDown.SelectedItem
End Sub  | 
        
        _____________________________
                5.- 
          Mediante la librería Dialogs obtener un archivo.
        En la librería Dialogs hay un programa llamado DialogsDemo, donde podemos ver las posibilidades de esta librería.
        Si queremos elegir un archivo mediante esta librería, creamos esta código... 
  Debemos marcar la librería Dialogs.
        Mediante la librería Dialogs podemos elegir archivos, colores, números,... 
        
          
            |  | 
          
            | 
Sub btnFile_Click
Dim fd As FileDialog
fd.FastScroll = True
fd.FilePath = File.DirRootExternal ' also sets ChosenName to an emtpy string
'fd.ShowOnlyFolders = true
'fd.FileFilter = ".txt" ' for example or ".jpg,.png" for multiple file types
ret = fd.Show("B4A File Dialog", "Yes", "No", "Maybe", Bmp) 
ToastMessageShow(ret & " : Path : " & fd.FilePath & CRLF & "File : " & fd.ChosenName, False) 
End Sub  | 
        
        El directorio DirRootExternal se refiere a /mnt/sdcard de la tarjeta insertada en el móvil.
        __________________________________ 
        Si el correo no llega entonces Return To Sender
        
          
        
         
        ______________________________