我想知道 .net 框架或 Microsoft.Office.Interop.Outlook 是否可以加载电子邮件 (*.msg),进行搜索和替换并从 C# 发送。
这一切都发生在服务器上,因此无法安装 Outlook。
我试过的
Redemption 库,但不知何故它丢失了模板中内联的图像,无法解决这个问题
使用 Microsoft.Office.Interop.Outlook
Application objOutlook = new Application(); objOutlook.CreateItemFromTemplate("c:\temp\..",)
但它期望作为 Outlook 文件夹的第二个参数,我不能给它一个文件路径,它将保存到
我正在考虑切换到常规 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。