Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-04-2012
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Ya que andamos de ofrecidos, les dejo esta función con su explicación:
Código Delphi [-]
{Esta función analiza la extensión del archivo pasado como parámetro y nos
devuelte un MIMETYpe adecuado para enviar por mail como adjunto si la extension
no es reconocida se manda como genérico.
}
function GetMIMEType(afilename: string): String;
var Ext: string;
begin
  Ext := UpperCase(ExtractFileExt(afilename));

  if Ext='.PDF' then
   Result := 'application/pdf'
   else
     if Ext='.ZIP' then
       Result := 'application/zip'
     else
        if Ext='.MP3' then
         Result := 'audio/mpeg'
       else
       if (Ext='.JPG') OR (Ext='.JPEG') then
         Result := 'image/jpeg'
       else
         if (Ext='.XLS')  then
           Result := 'application/vnd.ms-excel'
         else
          if (Ext='.XLSX') then
            Result := 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
         else
           if (Ext='.DOC')  then
            Result := 'application/msword'
           else
           if (Ext='.DOCX')  then
            Result := 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
           else
            Result := 'application/octet-stream';


end;

En donde la usamos:

Código Delphi [-]
  With TIdAttachmentFile.Create(Mensaje.MessageParts,adjunto) do
                 ContentType := GetMIMEType(adjunto)

// Mensaje es un objeto de la case TIdMessage, adjunto es una variable que contiene el nombre del archivo con extensión que se desea enviar

Es recomendable fijar la propiedad ContentType debido a que algunos servicios de correo, sobre todo los de empresas, no reconocen las extensiones por defecto y en algunos casos sencillamente el mensaje aparecerá como si no trajera adjunto. Se pueden añadir mas tipos a la función que puse, los tipos los pueden obtener de aquí o bien aqui que también viene completo. Atención a que no hay que meter todos los tipos de manera forzada, solo los que consideren que su aplicación va a manejar.
__________________
AKA "El animalito" ||Cordobés a mucha honra||

Última edición por AzidRain fecha: 30-04-2012 a las 22:28:41.
Responder Con Cita
  #2  
Antiguo 30-04-2012
xomen xomen is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Jalisco, Mexico
Posts: 18
Poder: 0
xomen Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
Ya que andamos de ofrecidos, les dejo esta función con su explicación:
Justo lo que necesitaba para mi siguiente proyecto muchas gracias AzidRain. Voy a jugar con ese código un rato después publico los resultados. Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
enviar correo electronico desde delphi morfeo21 Servers 3 05-05-2010 23:21:57
Enviar un correo electronico desde delphi 7 carlos gonzalez Varios 3 07-06-2008 18:04:29
Enviar correo electrónico desde delphi luisneria Internet 3 02-03-2007 18:07:27
Enviar correo electronico mediante MAPI adebonis API de Windows 3 12-10-2006 08:38:25
Fallo al enviar correo electrónico User_Baja_2 Internet 1 04-02-2006 23:54:34


La franja horaria es GMT +2. Ahora son las 23:51:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi