Ich verwende Microsoft EWS (Exchange-Webdienste) zum Senden von E-Mails an externe Kunden (in Bezug auf Supportanrufe).Steuern Sie die Nachrichtencodierung beim Senden von E-Mails mit der EWS-API
Einer unserer Kunden versuchen, automatisch den E-Mail-Nachrichtentext, um ihr eigenen Support-Call-System zu importieren (die JAVA basierte glaube ich) und sie halten immer diese Ausnahme:
Nicht unterstützte Codierung Ausnahme: iso-8859 -10
so haben sie mich gebeten, es zu UTF8 zu ändern
Wenn ich ihnen eine E-Mail von meinem Outlook senden (die ein Kunde von demselben Exchange ist) es funktioniert gut. Es passiert nur, wenn über EWS gesendet wird.
Hier ist mein Code:
protected void SendEmail2(string recipientsAddresses, string senderAddress, string ccRecipients, string subject, string body, bool CCToSender, bool simulate, Importance messageImportance)
{
ExchangeService service = null;
EmailMessage message = null;
try
{
// initialize a proxy to the exchange web services
service = new ExchangeService(MAGMA_EXCHAGE_VERSION);
service.Url = new Uri(MAGMA_EWS_URI);
// create the message
message = new EmailMessage(service);
// Add recipients
foreach (string recipientEmail in recipientsAddresses.Split(";".ToCharArray()))
{
message.ToRecipients.Add(new EmailAddress(recipientEmail));
}
// handle inline images
body = AddInlineImages(message, body);
// set everything
message.From = new EmailAddress(senderAddress);
message.Subject = subject;
message.Body = new MessageBody(BodyType.HTML, body);
message.Importance = messageImportance;
// and send
message.Save();
FolderId SentFolderForUser = new FolderId(WellKnownFolderName.SentItems, senderAddress);
message.SendAndSaveCopy(SentFolderForUser);
}
catch (Exception)
{
throw;
}
}
Die Zeichenfolge, die ich an den "Körper" übergeben ist ein HTML-Code, ein enthält:
meta charset = "UTF-8" Tag unter der Überschrift .
Gibt es irgendetwas, das ich hier vermisse?
Danke, Gil.