使用Outlook消息文件(msg)作为模板
本文关键字:msg Outlook 消息 文件 使用 | 更新日期: 2023-09-27 18:02:50
我想知道是否有可能使用。net框架或Microsoft.Office.Interop.Outlook加载电子邮件消息(*.msg),进行搜索并替换并从c#发送。
这一切都发生在服务器上,所以Outlook无法安装。
What I've try
-
Redemption库,但不知何故它丢失了模板中内联的图像,无法解决这个问题
使用Microsoft.Office.Interop.Outlook Application objOutlook = new Application(); objOutlook.CreateItemFromTemplate("c:'temp'..",)
但是它的第二个参数是outlook文件夹,我不能给它一个保存到
的文件路径我正在考虑切换到普通的文本文件而不是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文件夹中创建消息——不能发送独立的MSG文件。