Spanish Envio por Gmail...

oscarv

Member
Buenas tardes, estoy trabajando en un proyecto y necesito enviar mas de un archivo por gmail, hago la conexión y envío sin problema, la pregunta en si es, ¿ se pueden adjuntar mas de un archivo por envío o tendré que hacerlo uno por uno con un For---Next?

Gracias amigos de antemano!!!
 

josejad

Expert
Licensed User
Longtime User
Hola Oscarv:

Cuando haces una consulta, es bueno que pongas el código que estás utilizando (entre tags code para que sea más legible) [code]tu código[/code], porque si no, tenemos que suponer cosas y hace más difícil que alguien pueda contestarte.

Yo supondré que estás usando este ejemplo de Erel, y si es así, por lo que veo (nunca lo he usado), Attachment es una lista por lo que veo en la clase (Public Attachments As List)

Por tanto, sí, deberías hacer un bucle en esta parte del código para añadir archivos a la lista
B4X:
    'add attachment
    Dim fd As MultipartFileData
    fd.ContentType = "image/jpeg"
    fd.Dir = File.DirAssets
    fd.FileName = "android.png"
    msg.Attachments.Add(fd)
 

oscarv

Member
Ok, esto es lo que utilizo para enviar un gmail, que en realidad son varias fotos que seleccionaría un cliente, mi pregunta es, ¿puedo enviar varias imágenes en un solo mail? o debo mandar una por una las fotos como lo hace mi código

B4X:
    If EsperarBoton=4 Then
                            cont=Fotoss+1
                        Else
                            If EsperarBoton=5 Then
                                
                                avance=100/(elige1+elige2)
                                
                                Activity.LoadLayout("barraprogreso")
                                ProgressBar1.Progress=ProgressBar1.Progress+avance
                                If elige1>0 Then
                                    For i = 0 To Lista1.Size - 1
                                        If d8x10(i)=1 Then
                                            SMTP.To.Add("pandarecibe@gmail.com")
                                            SMTP.Subject = "Fotos de elegidas del cliente : xxxxxxxx"
                                            SMTP.Body = "8x10"
                                            SMTP.AddAttachment(File.DirAssets, "p" & (i+1) &".jpg")
                                            SMTP.Send
                                            Sleep(3000)
                                            ProgressBar1.Progress=ProgressBar1.Progress+avance
                                            
                                        End If
                                    Next
                                End If
                            End If
                            If elige2>0 Then
                                For i = 0 To Lista2.Size - 1
                                    If d12x18(i)=1 Then
                                        SMTP.To.Add("pandarecibe@gmail.com")
                                        SMTP.Subject = "Fotos de elegidas del cliente : xxxxxxxx"
                                        SMTP.Body = "12x18"
                                        SMTP.AddAttachment(File.DirAssets, "p" & (i+1) &".jpg")
                                        SMTP.Send
                                        Sleep(3000)
                                        ProgressBar1.Progress=ProgressBar1.Progress+avance
                                    End If
                                Next
                            End If
                            ToastMessageShow("Fotos enviadas",False)
                            File.Delete(File.DirDefaultExternal,"correo enviado.txt")
                            File.WriteString(File.DirDefaultExternal,"correo enviado.txt","1")
                            cont=Fotoss+1
                            principal=0
                        
                        End If

Gracias!!
 

oscarv

Member
ok, este es el código que estoy utilizando, pero solo envío una imagen a la vez, ¿habrá forma de mandar mas imágenes en un solo mensaje?

Inicializo SMTP

B4X:
Dim SMTP As SMTP


B4X:
    If EsperarBoton=4 Then
        cont=Fotoss+1
     Else
        If EsperarBoton=5 Then
            avance=100/(elige1+elige2)
             Activity.LoadLayout("barraprogreso")
             ProgressBar1.Progress=ProgressBar1.Progress+avance
             If elige1>0 Then
                For i = 0 To Lista1.Size - 1
                      If d8x10(i)=1 Then
                          SMTP.To.Add("pandarecibe@gmail.com")
                           SMTP.Subject = "Fotos de elegidas del cliente : xxxxxxxx"
                           SMTP.Body = "8x10"
                           SMTP.AddAttachment(File.DirAssets, "p" & (i+1) &".jpg")
                           SMTP.Send
                            Sleep(3000)
                            ProgressBar1.Progress=ProgressBar1.Progress+avance
                      End If
            Next
        End If
     End If
     If elige2>0 Then
        For i = 0 To Lista2.Size - 1
              If d12x18(i)=1 Then
                  SMTP.To.Add("pandarecibe@gmail.com")
                  SMTP.Subject = "Fotos de elegidas del cliente : xxxxxxxx"
                  SMTP.Body = "12x18"
                  SMTP.AddAttachment(File.DirAssets, "p" & (i+1) &".jpg")
                  SMTP.Send
                  Sleep(3000)
                  ProgressBar1.Progress=ProgressBar1.Progress+avance
              End If
        Next
     End If
     ToastMessageShow("Fotos enviadas",False)
     File.Delete(File.DirDefaultExternal,"correo enviado.txt")
     File.WriteString(File.DirDefaultExternal,"correo enviado.txt","1")
     cont=Fotoss+1
     principal=0
    End If '
 

josejad

Expert
Licensed User
Longtime User
SOLUCIONADO
Genial Oscarv. Si pones cómo has conseguido solucionarlo, será de ayuda para quien consulte el hilo más adelante.
(también puedes editar el título del hilo y poner delante [solucionado])

saludos,
 
Top