1
我想知道是否可以使用.net框架或Microsoft.Office.Interop.Outlook加載電子郵件(* .msg),執行搜索並替換併發送它來自C#。使用Outlook消息文件(msg)作爲模板
這一切都發生在服務器上,因此Outlook無法安裝。
我已經試過
贖回庫,但不知何故失去在模板內聯的圖像,並不能找出糾正這種
使用Microsoft.Office.Interop。前景
Application objOutlook = new Application(); objOutlook.CreateItemFromTemplate("c:\temp\..",)
但是預計,因爲它的第二個參數FO的前景lder連續,我不能給它一個文件路徑,在那裏將保存到
我想切換到普通的txt文件,而不是C#,但也許有人這樣做已經
更新1
這是我試過的兌換碼。問題是,格式和圖像(簽名不保留)
using Interop.Redemption;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Replace(@"mailnonunicode.msg");
Replace(@"mailunicode.msg");
Replace(@"mailtemplate.oft");
}
static void Replace(string cTestharnessKmailMsg)
{
RDOSession rdoSession = new RDOSession();
RDOMail messageFromMsgFile = rdoSession.GetMessageFromMsgFile(cTestharnessKmailMsg);
messageFromMsgFile.Body = messageFromMsgFile.Body.Replace("abc",
"xyz");
messageFromMsgFile.Save();
}
}
}
更新2 /解決方案
如果您想保留格式,你需要HTMLBody或RTFBody性工作,而不是純文本Body。
我不能在服務器上安裝Outlook,所以沒有Outlook文件夾。我認爲這樣就排除了贖回。 :( – buckley 2013-03-08 18:13:45
RDO系列對象(http://www.dimastr.com/redemption/rdo_introduction.htm)不需要Outlook,只需要MAPi系統,這意味着您可以安裝獨立版本的MAPI(http:///www.microsoft.com/downloads/details.aspx?FamilyID=e17e7f31-079a-43a9-bff2-0a110307611e&DisplayLang=en)然後,您可以調用RDOSession.LogonExchangeMailbox動態連接到郵箱,檢索郵件所在的文件夾創建(例如RDOSession.GetDefaultFolder(olFolderDrafts),創建消息(RDOFolder.Items.Add)導入MSG文件(RDOMail.Import),然後發送它 – 2013-03-08 23:22:23
我已經添加了我的代碼到這個問題。如果有幫助,我可以給你發送完整的解決方案 – buckley 2013-03-12 12:36:00