У меня есть готовый MHTML-массив в виде байтового массива (из Aspose.Words) и вы хотите отправить его в виде электронной почты. Я пытаюсь сделать это через CDOSYS, хотя я открыт для других предложений. В настоящее время, хотя у меня есть следующие:Отправить уже сгенерированный MHTML с помощью CDOSYS через C#?
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 = "[email protected]";
oMsg.To = warning.EmailAddress;
oMsg.Send();
В этом фрагменте переменная предупреждение имеет свойство тела, которое является байт []. Где он говорит «НЕОБХОДИМО ВОЛШЕБНО ЗДЕСЬ» в приведенном выше коде, я хочу использовать этот байт [] для установки тела сообщения CDO.
Я попробовал следующее, что неудивительно, не работает:
oMsg.HTMLBody = System.Text.Encoding.ASCII.GetString(warning.Body);
Кто-нибудь есть какие-либо идеи, как я могу добиться того, что я хочу с CDOSYS или что-то еще?
Я смотрю на System.Net.Mail и MailMessage, но это похоже, не поддерживает MHTML. И разве это не просто обертка для CDOSYS? У CDOSYS, по-видимому, есть * некоторая * поддержка MHTML, но, похоже, вам нужно использовать CDOSYS для создания MHTML, чего я не хочу. – 2010-06-08 02:56:18
Возможно, вам лучше работать, исходя из предположения, что мало кто из читающих это знает, что означает MHTML. –
Это не сработает. Другой ответ здесь будет. – thomas