2017-07-15 69 views
0

是否可以通過電子郵件發送目錄?以電子郵件的附件發送目錄C#

我使用這種方法發送一個日誌文件到我的電子郵件,但我想發送一個目錄,這將成爲我在Unity工作的遊戲的保存遊戲文件夾。 我使用這個作爲錯誤報告,因爲我需要獲取遊戲保存文件來查找錯誤。

using System.Net; 
using System.Net.Mail; 

public void email_send() 
{ 
    MailMessage mail = new MailMessage(); 
    SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 
    mail.From = new MailAddress("your [email protected]"); 
    mail.To.Add("[email protected]"); 
    mail.Subject = "Test Mail - 1"; 
    mail.Body = "mail with attachment"; 

    System.Net.Mail.Attachment attachment; 
    attachment = new System.Net.Mail.Attachment("c:/textfile.txt"); 
    mail.Attachments.Add(attachment); 

    SmtpServer.Port = 587; 
    SmtpServer.Credentials = new System.Net.NetworkCredential("your [email protected]", "your password"); 
    SmtpServer.EnableSsl = true; 

    SmtpServer.Send(mail); 

} 

如果無法發送目錄,那麼實現該目錄的方法是什麼?

+1

創建與該目錄中的拉鍊和發送ZIP –

+1

你可以壓縮的目錄,並把它馬上有

public static void Compress(DirectoryInfo directorySelected) { foreach (FileInfo fileToCompress in directorySelected.GetFiles()) { using (FileStream originalFileStream = fileToCompress.OpenRead()) { if ((File.GetAttributes(fileToCompress.FullName) & FileAttributes.Hidden) != FileAttributes.Hidden & fileToCompress.Extension != ".gz") { using (FileStream compressedFileStream = File.Create(fileToCompress.FullName + ".gz")) { using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress)) { originalFileStream.CopyTo(compressionStream); } } FileInfo info = new FileInfo(directoryPath + "\\" + fileToCompress.Name + ".gz"); Console.WriteLine("Compressed {0} from {1} to {2} bytes.", fileToCompress.Name, fileToCompress.Length.ToString(), info.Length.ToString()); } } } } 

你也可以使用標準的荏苒類 –

+0

您可以將目錄中的每個文件作爲單獨的附件發送。 – JeanLuc

回答

0

您可以壓縮完整的目錄內容,並將存檔文件作爲附件發送。

0

解決方法:只需將其壓縮並作爲文件發送即可。

0

The GZip .NET的類可能就是你想要的! MSDN Link 壓縮段從這裏ZipFile