2016-06-29 8 views
0

ich den Sendmail-Anruf von Microsoft Outlook-API, die here.C# Outlook API Thema Codierung in Ordner Gesendete Objekte

Ich muss gefunden werden kann Mails versenden so dass Sonderzeichen in der Betreff wie é, à, ç oder -.

Ich fand this post darüber, wie das Thema zu verschlüsseln und es hat gut funktioniert. Das Problem hier ist, dass im Ordner Gesendete Objekte der Betreff mit der ganzen Kodierung angezeigt wird, es ist, als ob Microsoft es nicht löst.

Image can be found here. (Bilder können nicht schreiben noch)

Ist es ein bekanntes Problem, oder gibt es eine Abhilfe? Ich konnte keine Informationen darüber finden.

Der Code:

MicrosoftMessage.RootObject msMessage = new MicrosoftMessage.RootObject(); 
MicrosoftMessage.Message msg = new MicrosoftMessage.Message(); 

msg.Subject = "=?UTF-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(subject)) + "?="; 
msg.Body.ContentType = "HTML"; 
msg.Body.Content = body; 

msMessage.Message = msg; 

string mail; 
using (MemoryStream memoryStream = new MemoryStream()) 
using (StreamReader reader = new StreamReader(memoryStream)) 
{ 
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(msMessage.GetType()); 
    serializer.WriteObject(memoryStream, msMessage); 
    memoryStream.Seek(0, SeekOrigin.Begin); 
    mail = reader.ReadToEnd(); 
} 

try 
{ 
    WebClient wc = new WebClient(); 
    wc.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8"; 
    wc.Headers[HttpRequestHeader.Authorization] = "Bearer " + msInfo.AccessToken; 
    wc.Headers[HttpRequestHeader.Accept] = "text/*, application/xml, application/json; odata.metadata=none"; 
    wc.UploadString("https://outlook.office.com/api/v2.0/me/sendmail", mail); 
    return true; 
} 
catch (Exception ex) 
{ 
    Log.Error("An error occurred while sending the mail.", ex); 
    return false; 
} 

Antwort

0

Für den Fall, jemand hat das gleiche Problem die Lösung ist das Hinzufügen

wc.Encoding = System.Text.Encoding.UTF8; 

innerhalb des try und sendet das Thema wie es ist, ohne die Basis-64-Codierung.

Verwandte Themen