將 MailMessage 物件保留為 EML 或 MSG 檔案
.NET MailMessage
類別不提供將自身儲存到磁碟的直接方法。 但是,根據您的需求,有一些解決方法可以實現此目的。
一種方法涉及使用 SmtpClient
將電子郵件傳送重定向到檔案系統。此方法不會直接建立 EML 或 MSG 文件,而是產生可以稍後處理的文件。
方法一:程式設定
此方法將 SmtpClient
設定為將電子郵件寫入指定目錄:
<code class="language-csharp">SmtpClient client = new SmtpClient("mysmtphost"); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message);</code>
這將在指定目錄中建立電子郵件檔案。 然後,一個單獨的進程可以處理轉送這些檔案。
方法二:應用程式設定
或者,您可以透過應用程式的設定檔配置交付方法:
<code class="language-xml"><configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" /> </smtp> </mailSettings> </system.net> </configuration></code>
這實現了與程式方法相同的結果。 電子郵件檔案將儲存到指定目錄並可進行後續處理。
請記住選擇一個合適的目錄並確保您的應用程式具有寫入該位置的必要權限。 此方法對於批次或不需要立即網路傳輸的場景很有用。 對於直接建立 EML/MSG 文件,您需要探索第三方程式庫或根據電子郵件內容編寫自訂文件。
以上是如何將 MailMessage 物件作為 EML 或 MSG 檔案儲存到磁碟?的詳細內容。更多資訊請關注PHP中文網其他相關文章!