2010-12-03 33 views
1

我正在編寫一個程序,我的主管要我利用他們的內部沙箱電子郵件系統。c#使用POST和Mime發送電子郵件

從本質上講,我到目前爲止的代碼是:

WebRequest request = WebRequest.Create(uri); 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 

Stream os = null; 
byte[] Bytes = Encoding.ASCII.GetBytes("From: [email protected]\n" + "To: [email protected]\n" + "Subject: test\n" + "jkjlkjkj\n"); 
try 
{ 
    request.ContentLength = Bytes.Length; 
    os = request.GetRequestStream(); 
    os.Write(Bytes, 0, Bytes.Length); 
} 
catch (Exception e) 
{ 
    Console.WriteLine("error"); 
} 

這工作正常,併發送電子郵件的預期。但是我怎樣才能使用這種方法發送附件?他們可能會打開小型轉儲文件。

謝謝。

+3

這很大程度上取決於系統如何對附件進行格式化。 `WebRequest`僅用於發送HTTP請求。 – 2010-12-03 13:06:28

回答

1

如果您使用的是標準電子郵件協議,那麼只需查看電子郵件中附件的發送方式。我剛剛發現在PHP這個例子與附件創建一個消息,也許它會工作,以同樣的方式在.NET(改變通話):

嘗試增加對字節數組的那些行:

內容 - 類型:application/zip;名稱=「attachment.zip」
內容傳輸編碼:BASE64
內容處置:附件 attachmentContents

其中attachmentContents是文件(的base64編碼轉儲明顯,根據改變的名稱和MIME類型您發送的信息。

我把這個代碼從這裏http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php#attachment

希望它可以幫助

希望它能幫助。

相關問題