none
enviar por e-mail imagen de la DB

    Pregunta

  • Hola, estoy haciendo una web en VB.net, necesito mandar por e-mail una imagen que leo desde una DB, envio el mail, pero no me muestra la imagen, comprendo por que, y no se si de alguna manera se puede hacer.....alguien tiene alguna idea para darme?

    martes, 31 de agosto de 2010 19:54

Respuestas

  • sino que como una publicidad....me imagino que no se puede...no?

    me temo que no

    recuerda que el archivo de mysql funciona dentro del motor de tu base de datos, por ahi podrias hacer una exportacion a excel, o a un archivo de texcto y esto si adjuntarlo en el mail

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta El gran Tomacco martes, 31 de agosto de 2010 20:35
    martes, 31 de agosto de 2010 20:20

Todas las respuestas

  • imagino que la db a la cual te refieres debe de ser Access

    de ser asi puede agregarlo como un Attach

    en la clase del message con la cual envia el mail tienes esta propiedad para agregar el archivo como attach

    solo que por ahi debas liberar las referencias al mismo, porque si esta tomado o siendo accedido por ahi este bloqueado y no lo quiera agregar al mail

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 31 de agosto de 2010 20:04
  • no, es mysql... si pero no lo quiero enviar como un archivo adjunto, sino que como una publicidad....me imagino que no se puede...no?

     

     

    martes, 31 de agosto de 2010 20:17
  • sino que como una publicidad....me imagino que no se puede...no?

    me temo que no

    recuerda que el archivo de mysql funciona dentro del motor de tu base de datos, por ahi podrias hacer una exportacion a excel, o a un archivo de texcto y esto si adjuntarlo en el mail

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta El gran Tomacco martes, 31 de agosto de 2010 20:35
    martes, 31 de agosto de 2010 20:20
  • ok. gracias por tu respuesta!
    martes, 31 de agosto de 2010 20:34
  • Hola Tomacco

    Cuando dices "quiero enviar como publicidad"??
    Quiere decir que un enlace? embebido? porque al no enviar como adjunto el cliente (el que ve el correo) necesita ubicar la imagen en internet.


    Esto se puede hacer armando un HTML donde las imagenes de "tu publicidad" son URL absolutas es decir 
       <img alt="" src="http://www.tuempresa.com/mailing/imagen001.jpg" />
    y si utilizas estilos tambien como url absolutas
       background-image:url('http://www.tuempresa.com/mailing/imagen001.jpg');

    Que envias por correo?
      Solo el HTML
      Cuando el usuario abre el correo , su cliente de correo le pedira descargar la imagen

    En el servidor??
      - Tendrias que tener una pagina que capture estas peticiones a tu imagen
      - Es decir cuando alguien solicita ".../mailing/imagen001.jpg" debes renderizar la imagen desde tu DB (esto lo puedes hacer con algun redireccionador como un URL UrlRewritingNet.UrlRewrite), si estas utilizando NET 4.0 ya lo puedes hacer sin "condimentos de terceros"
     - Todo esto para no colocar algo asi
       <img alt="" src="http://www.tuempresa.com/mailing/imagen.aspx?img=imagen001.jpg" />


    Espero que se entienda.. y que te sea de ayuda o guia
    (espero que no sea para spam ;) ....)



    Jose. A Fernandez | blog: http://geeks.ms/blogs/fernandezja
    miércoles, 1 de septiembre de 2010 4:16
  • Hola, ya entiendo que deseas obtener la información de la imagen de la Base de Datos y enviarla por correo.
     
    Si es así, si lo puedes hacer de la siguiente forma:
     
    1.- Obtienes la información de la imagen de la Base de Datos y la generas con algo como lo siguiente:

    System.IO.MemoryStream oImagen = new System.IO.MemoryStream(aContenido);

    Bitmap oSalida = new System.Drawing.Bitmap(oImagen);

    donde aContenido esta definido como "byte[] aContenido;" y contiene la secuencia de bytes de la imagen obtenida de la Base de Datos.

    2.- Utilizas el método Save de la variable oSalida para guardar la imagen en una carpeta compartida del servidor y visible de tu aplicación Web.

    3.- Defines el contenido de tu correo con la propiedad "IsBodyHTML" puesta en "True".

    4.- Dentro del cuerpo del mensaje y donde desees colocar la imagen incluyes la línea siguiente:

    <img alt="Logotipo" src="http://dirección de tu carpeta de imágenes/nombre de la imagen salvada en el punto 2" />

    5.- Envías el correo de la forma usual.

    Para evitar problemas de seguridad, asigna permisos de lectura y escritura a la carpeta de imágenes que crees para realizar el paso 2 al usuario de ASP.NET.

     

    Espero te sirva, saludos.

     

    "El gran Tomacco" <=?utf-8?B?RWwgZ3JhbiBUb21hY2Nv?=> wrote in message news:91baf630-a4b1-4e24-b5c5-03012ecb4375...

    Hola, estoy haciendo una web en VB.net, necesito mandar por e-mail una imagen que leo desde una DB, envio el mail, pero no me muestra la imagen, comprendo por que, y no se si de alguna manera se puede hacer.....alguien tiene alguna idea para darme?

    miércoles, 1 de septiembre de 2010 19:11