Hallo,
ich versuche eine E-Mail Mit Umlauten zu erstellen. Leider stellt Outlok die Umalute nicht richtig da.
Mein Code:
string einheit = "Qualität";
MailMessage Message = new MailMessage();
Message.IsBodyHtml = true;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Subject = "test";
Message.Body += "Einheit: " + Server.HtmlEncode(einheit) + "%0A";
StringBuilder sb = new StringBuilder();
sb.Append("<script language=JavaScript> ");
sb.Append("document.location.href =\"mailto:test1@test.de?cc=test2@test.de;test3@test.de&subject=Registrierung&body=" + Message.Body + "\";");
sb.Append(" </script>");
this.ClientScript.RegisterStartupScript(this.GetType(), "mail", sb.ToString());
ein Bild von der Darstellung in Outllok habe ich angehängt. Woran kann das liegen?
Hallo,
das Encoding im Body wird nur benutzt, wenn Du die Message auch tatsächlich von .NET aus abschickst. Die Property an sich ist aber einfach nur Text und damit 16bit-Unicode.
Probier mal mit
Message.Body += "Einheit: " + Server.HtmlEncode(einheit) + "\n"; // <-- \n weil später noch URL codiert wird
und dann beim StringBuilder:
sb.Append("document.location.href =\"mailto:test1@test.de?cc=test2@test.de;test3@test.de&subject=Registrierung&body=" + HttpUtility.UrlEncode(Message.Body) + "\";");
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
System.Text.Encoding utf_8 = System.Text.Encoding.UTF8;
//nach UTF8 (Bytes) konvertieren
byte[] utf8Bytes = System.Text.Encoding.UTF8.GetBytes(Server.HtmlEncode(einheit));
//in einem UTF8-String konvertieren
string einheit = System.Text.Encoding.UTF8.GetString(utf8Bytes );
Message.Body += "Einheit: " + einheit + "%0A";
?
Wer zuletzt lacht, hat den höchsten Ping!
Hallo DJMesche,
HtmlEncode
ist der falsche Gegner -> damit bekommst Du HTML-Entitäten, die in eine URL zu packen ist fatal, wegen der &-Zeichen die dabei entstehen. Dafür gibt es ja das von mir bereits erwähnte UrlEncode
.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca