2
我的目標是將消息參數(from,to,body,subject等)和創建.eml文件。創建.eml文件而不將EmailMessage首先保存到郵箱
我目前使用EWS託管API(儘管我打開其他建議)來創建EmailMessage對象。而不是將郵件保存到郵箱或發送郵件(這是不可能的,因爲我使用的應用程序的帳戶由於安全策略而無法訪問任何郵箱),我想創建一個.eml文件。
我適應一些代碼,我從另一個答案,看起來前途無量發現:
EmailMessage message = new EmailMessage(service);
//message initialization code
//...
using (FileStream fs = File.Open(@"message.eml", FileMode.Create, FileAccess.Write))
{
message.Load(new PropertySet(ItemSchema.MimeContent));
var mc = message.MimeContent;
fs.Write(mc.Content, 0, mc.Content.Length);
}
,但我得到的message.Load異常()說:「不能執行此操作,因爲此服務對象沒有按沒有身份證。「通過一些小調試,我基本上看到了這個消息.Id是空的。 Id沒有setter。我相信這是因爲郵件在保存到文件夾之前沒有得到ID,這是我無法做到的。
有什麼辦法可以解決這個問題嗎?
謝謝
我使用EmailMessage類,因爲我認爲它有一個方法來生成MimeContent並保存到eml文件(Load方法)。有沒有辦法利用服務器生成MimeContent的任何邏輯而不保存到它?如果沒有,是否有關於如何正確格式化eml文件的指導方針/文檔? (我的理解不一定)謝謝 – thogue
我的理解是.eml格式基於RFC822(http://www.rfc-editor.org/rfc/rfc822.txt)或其後繼RFC。您可能試圖查看是否有人向.eml解析器發送了EmailMessage,或者您可以檢查.eml文件(它是純文本),以便您可以創建自己的解析。 –