Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
Enviar Mail Con Adjunto/s Desde Gambas3
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Enviar Mail Con Adjunto/s Desde Gambas3 
 
Al final he tenido que volver al tema del E-Mail, que en el curro quieren enviar archivos por correo desde la aplicación. Una pequeña investigación y he terminado haciendo la siguiente función.
Public Sub enviarmail(aTo As String[], cAsunto As String, cTexto As String, cFrom As String, Optional adjuntos As String[] = [], Optional bcc As String[] = [])

    Dim enviador As New SmtpClient
    Dim fich, mime, fname As String
    Dim n As Integer
    Dim s as String
    enviador.debug = True
    enviador.host = mcomun.mailserver["host"]
    enviador.user = mcomun.mailserver["user"]
    enviador.password = mcomun.mailserver["password"]
    enviador.Alternative = False 'con esto le indicas que el texto puede ir en varios formatos para que el cliente de correo eliga. ¡No activar si hay adjuntos!.
    enviador.From = cFrom
    For Each s In aTo
        enviador.To.Add(s)
    Next
    For Each s In bcc
      enviador.bcc.Add(s)
    Next
    enviador.Subject = cAsunto
    enviador.Body = cTexto
    For Each fich In adjuntos
        Exec ["file", "-bi", fich] To mime
        mime = Left(mime, InStr(mime, ";") - 1)
        fname = Right(fich, - RInStr(fich, "/"))
        enviador.Add(File.Load(fich), mime, fname)
    Next
    enviador.send  
    
End
 


Corta, simple y funcional. Veréis que me apoyo en el comando file para extraer el mime-type de cada adjunto y veréis que he omitido, por seguridad anti-spammers, el CC, sólo admito BCC, que ya hemos tenido lío con eso en la empresa.

Espero que os sea útil.

Saludos
 



 
última edición por shordi el Sabado, 31 May 2014, 10:30; editado 5 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Shordi:

Muy útil tu código, gracias por compartir  

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Lo he modificado, que no sé por qué (supongo que lo han actualizado) en la línea:

enviador.to = ato
' y en
enviador.bcc = bcc


falla y dice que to y bcc son de sólo lectura. Lo miro en las ayudas y efectivamente es así pero hace unos días funcionaba sin problemas     .

En fin...
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Tiene pinta de un nuevo bug, habria que comentarlo en las listas a Benoit.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Si es un bug es que ya lo han corregido, digo. Ahora se comporta tal como dice la documentación. Mejor dejarlo así.

Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Eectivamente, algo tiene raro. Al añadir los destinatarios antes tenía el código:

  
For n = 0 to ato.count -1
        enviador.To.Add(ato[n])
    Next
 


Que el otro día funcionaba sin problemas. Hoy, al probarlo, abortaba en la línea que llama a la función, sin ni siquiera entrar en ella, con el mensaje "No return Value".

He cambiado el código por:
  
For Each s In aTo
        enviador.To.Add(s)
    Next
 

Y ahora sí funciona sin problemas (de momento).
Tal vez sea un bug o tal vez sea cosa de punteros y demás que, supongo, no es lo mismo una variable String que un elemento dentro de una tabla pasado por referencia desde otra función...
   
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
como pequeño aporte

estrella_de_galicia escribió: 
Como enviar mails desde la consola, empleando servidor externo SMTP.

Algo muy útil para nuestros scripts, es el envío de e-mails a nuestra cuenta de correo.

En azul, parámetros a modificar.

# true | mailx -n -a archivo -r remitente -s asunto -S smtp=servidor-de-correo-saliente -S smtp-auth-user=usuario -S smtp-auth-password=password email-destinatario


 




===================
Saludos / Best Regards

Pedro Aguilar

http://edrossuse.blogspot.com
Desarrollador de LNXGEST
 
estrella_de_galicia - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
¡Trampa, trampa! ¡Usas programas externos, pecadorrrrrrr!    
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
hola gente, soy nuevo en esto de programar orientado a objetos y tambien en Gambas3
estoy haciendo una aplicacion administrativa para mi local de computacion y una de las cosas que me estan complicando es el envio de email desde la aplicacion
soy consiente de ,mis limitaciones, solo necesitaria un ejemplo completo que funcione para poder aprender
he insertado y tratado de usar la funcion de este post ,pero me da errores de incongruencia de tipo de datos... voy a seguir buscando documentacion y data en internet, pero si alguno se apiada acepto cualquier ayuda
y muchas gracias por tomarce el tiempo de leer esto !
saludos

Fernando
 



 
FernandoT - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Enviar Mail Con Adjunto/s Desde Gambas3 
 
Ese hilo es algo viejo. La función para enviar correo tal como la utilizo sin ningún problema ahora, es ésta:

Public Function sendmail(sFrom As String, aTo As String[], sSubject As String, sBody As String, cServer As Collection, Optional aBcc As String[], Optional aAttached As String[], Optional ldebug As Boolean) As Boolean

    Dim SmtpC As New SmtpClient
    Dim s, cad, fich, cmime, fname As String

    SmtpC.debug = ldebug
    SmtpC.host = cServer["host"]
    SmtpC.user = cServer["user"]
    SmtpC.password = cServer["password"]
    SmtpC.Encrypt = IIf(cServer["Encrypt"], cServer["Encrypt"], Net.SSL)
    SmtpC.Alternative = False
    SmtpC.From = sFrom
    For Each s In aTo
        SmtpC.To.Add(Replace(s, " ", ""))
    Next
    SmtpC.Subject = sSubject
    SmtpC.Body = sBody
    If Not IsNull(aAttached) Then
        For Each fich In aAttached
            Exec ["file", "-bi", fich] To cmime
            cmime = Left(cmime, InStr(cmime, ";") - 1)
            fname = Right(fich, - RInStr(fich, "/"))
            SmtpC.Add(File.Load(fich), cmime, fname)
        Next
    Endif
    If Not IsNull(abcc) Then
        For Each s In abcc
            SmtpC.bcc.Add(s)
        Next
    Endif
    SmtpC.send
    Return True

Catch
    print Error.text;;Error.where
    Return False

End


Si algo no entiendes, pregunta, que para eso estamos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Enviar Mail Desde La Consola arubioc General 4 Jueves, 17 May 2012, 11:44 Ver último mensaje
arubioc
No hay nuevos mensajes Fotos Por Mail Bajando La Resolución tincho Shell Scripting 1 Domingo, 11 Enero 2015, 11:39 Ver último mensaje
shordi
No hay nuevos mensajes XDG Sendmail ¿Como Agregar Mas De Un Adju... tincho Aplicaciones/Fragmentos de Código 1 Jueves, 23 Marzo 2017, 20:17 Ver último mensaje
shordi
No hay nuevos mensajes Descargar Un Archivo Adjunto Desde Un Emai... tincho Aplicaciones/Fragmentos de Código 7 Viernes, 13 Abril 2018, 16:16 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario