我有一个已生成的 MHTML 作为字节数组(来自 Aspose.Words),并希望将其作为电子邮件发送。我正在尝试通过 CDOSYS 来做到这一点,尽管我对其他建议持开放态度。现在虽然我有以下内容:
CDO.Message oMsg = new CDO.Message();
CDO.IConfiguration iConfg = oMsg.Configuration;
Fields oFields = iConfg.Fields;
// Set configuration.
Field oField = oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"];
oField.Value = CDO.CdoSendUsing.cdoSendUsingPort;
oField = oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"];
oField.Value = SmtpClient.Host;
oField = oFields["http://schemas.microsoft.com/cdo/configuration/smtpserverport"];
oField.Value = SmtpClient.Port;
oFields.Update();
//oMsg.CreateMHTMLBody("http://www.microsoft.com", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
// NEED MAGIC HERE :)
oMsg.Subject = warning.Subject; // string
oMsg.From = "system@example.com";
oMsg.To = warning.EmailAddress;
oMsg.Send();
在这个片段中,警告变量有一个 Body 属性,它是一个 byte[]。在上面的代码中它说“这里需要魔法”的地方我想使用这个字节 [] 来设置 CDO 消息的正文。
我尝试了以下方法,不出所料,这不起作用:
oMsg.HTMLBody = System.Text.Encoding.ASCII.GetString(warning.Body);
有人知道如何使用 CDOSYS 或其他东西实现我想要的吗?