2011-03-08 43 views

Trả lời

36

Không, điều này hoàn toàn không thể thực hiện được. Không có điều khoản nào trong giao thức mailto: và đó sẽ là lỗ hổng bảo mật định hình nếu có thể.

Ý tưởng tốt nhất để gửi một tập tin, nhưng có khách hàng gửi E-Mail mà tôi có thể nghĩ đến là:

  • Có người dùng chọn một file
  • Tải lên tập tin vào một máy chủ
  • có server trả về một tên tập tin ngẫu nhiên sau khi tải lên
  • Xây dựng một liên kết mailto: có chứa URL đến tập tin được tải lên trong nội dung thư
+0

Trong trường hợp này tôi có thể sử dụng dấu phẩy apache tôi nghĩ. – Benchik

+1

không phải là xấu, nhưng sẽ có một nơi trên máy chủ, nơi tất cả các tập tin người dùng được đặt mà sẽ cần làm sạch theo thời gian bằng cách nào đó. Có lẽ [cách tiếp cận này sẽ làm việc cho điều đó] (http://stackoverflow.com/questions/5760969/php-how-to-delete-a-file-from-server-after-is-read-unlink-is-executed- befor) – ejectamenta

-5

điều gì về điều này

<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

Đã thử nó trên một jsfiddle ... nó chỉ cần mở một hộp thoại email và điền vào cơ thể với 'attachedfile = filename.ext & submit = Email'. Nó không đính kèm bất kỳ dữ liệu nào. –

1

điều này không thể thực hiện được trong chức năng "mailto".

hãy đi với mã hóa phía máy chủ (C#). Hãy đảm bảo mở so với quyền quản trị.

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

tôi đã thử với chức năng mailto nhưng nó không thể, vì vậy tôi đã thử trên mã để đạt được điều đó. –

Các vấn đề liên quan