我想知道.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。
答案 0 :(得分:1)
您现有的兑换代码是什么?
如果需要发送邮件,则必须在其中一个Outlook文件夹中创建邮件 - 无法发送独立的MSG文件。