2011-03-08 16 views

Respuesta

36

No, esto no es posible en absoluto. No hay ninguna disposición para ello en el protocolo mailto:, y sería un gran agujero de seguridad si fuera posible.

La mejor idea para enviar un archivo, pero tiene el cliente envía el correo electrónico que se me ocurre es:

  • que el usuario seleccione un archivo
  • cargar el archivo a un servidor
  • que el servidor devuelve un nombre de archivo aleatorio después de cargar
  • construcción de una línea mailto: que contiene la dirección URL del archivo cargado en el cuerpo del mensaje
+0

En este caso, podría usar apache commons, creo. – Benchik

+1

no está mal, pero habrá un lugar en el servidor donde se encuentran todos los archivos de usuario que de vez en cuando necesitarán limpieza. Tal vez [este enfoque funcionaría para eso] (http://stackoverflow.com/questions/5760969/php-how-to-delete-a-file-from-server-after-is-read-unlink-is-executed- antes) – ejectamenta

-5

qué pasa con esto

<FORM METHOD="post" ACTION="mailto:[email protected]" ENCTYPE="multipart/form-data"> 
Attachment: <INPUT TYPE="file" NAME="attachedfile" MAXLENGTH=50 ALLOW="text/*" > 
<input type="submit" name="submit" id="submit" value="Email"/> 
</FORM> 
+4

Lo probé en un jsfiddle ... simplemente abre un diálogo de correo electrónico y rellena el cuerpo con 'attachedfile = filename.ext & submit = Email'. No adjunta ningún dato. –

1

esto no es posible en función de "mailto".

por favor vaya con la codificación del lado del servidor (C#). Asegúrese de abrir vs en el permiso administrativo.

Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application(); 
Microsoft.Office.Interop.Outlook.MailItem oMsg = (Microsoft.Office.Interop.Outlook.MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 

oMsg.Subject = "emailSubject"; 
oMsg.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML; 
oMsg.BCC = "emailBcc"; 
oMsg.To = "emailRecipient"; 

string body = "emailMessage"; 

oMsg.HTMLBody = "body";    
oMsg.Attachments.Add(Convert.ToString(@"/my_location_virtual_path/myfile.txt"), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, Type.Missing, Type.Missing); 

oMsg.Display(false); //In order to displ 
+0

lo he intentado con la función mailto pero no es posible, así que he intentado con el código anterior para lograrlo. –

Cuestiones relacionadas