J'ai un MHTML déjà généré sous la forme d'un tableau d'octets (de Aspose.Words) et je voudrais l'envoyer sous forme de courrier électronique. J'essaye de faire ceci par l'intermédiaire de CDOSYS, bien que je suis ouvert à d'autres suggestions. Pour l'instant, si je donne les résultats suivants:Envoyer MHTML déjà généré en utilisant CDOSYS à travers 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();
Dans cet extrait, la variable d'avertissement a une propriété du corps qui est un octet []. Où il est dit "BESOIN MAGIQUE ICI" dans le code ci-dessus, je veux utiliser ce byte [] pour définir le corps du message CDO.
J'ai essayé ce qui suit, ce qui ne fonctionne pas sans surprise:
oMsg.HTMLBody = System.Text.Encoding.ASCII.GetString(warning.Body);
quelqu'un a des idées comment je peux obtenir ce que je veux avec CDOSYS ou autre chose?
J'ai regardé System.Net.Mail et MailMessage mais ne semble pas supporter MHTML. Et n'est-ce pas juste un emballage pour CDOSYS de toute façon? CDOSYS semble au moins avoir un peu de support pour MHTML, mais il semble que vous deviez utiliser CDOSYS pour générer le MHTML qui n'est pas vraiment ce que je veux. –
Vous feriez mieux de partir du principe que peu de gens lisent ce que MHTML signifie. –
Cela ne fonctionnera pas. L'autre réponse ici sera. – thomas