2011-03-08 15 views

Odpowiedz

36

Nie, to wcale nie jest możliwe. Nie ma w nim przepisu w protokole mailto: i byłaby to luka w zabezpieczeniach, gdyby była możliwa.

Najlepszy pomysł, aby wysłać plik, ale ma klient wysłać wiadomość e-mail, które można myślę, jest:

  • Czy użytkownikowi wybrać plik
  • Prześlij plik do serwera
  • że serwer zwraca losową nazwę pliku po przesłaniu
  • Budowanie mailto: link, który zawiera adres URL przesłanego pliku w treści wiadomości
+0

W tym przypadku mógłbym użyć wspólnego Apache'a. – Benchik

+1

Nieźle, ale będzie miejsce na serwerze, na którym znajdują się wszystkie pliki użytkownika, które w jakiś sposób będą wymagały czyszczenia. Może [takie podejście byłoby do tego odpowiednie] (http://stackoverflow.com/questions/5760969/php-how-to-delete-a-file-from-server-after-is-read-unlink-is-ex-ed-- befor) – ejectamenta

-5

co o tym

<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

Wypróbowałem to na jsfiddle ... po prostu otwiera okno wiadomości e-mail i wypełnia ciało 'attachedfile = filename.ext & submit = Email'. Nie załącza żadnych danych. –

1

nie jest to możliwe w "mailto" funkcji.

proszę przejść z kodowaniem po stronie serwera (C#). Upewnij się, że otwórz vs w uprawnienia administratora.

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

Próbowałem z funkcją mailto, ale nie jest to możliwe, więc próbowałem powyższego kodu, aby to osiągnąć. –

Powiązane problemy