Vinn nätagg från Seasonic
Permalänk

ÅÄÖ skicka mail med C#

Hej!

Jag har ett formulär på en webbsida, när besökaren klickar på skicka så går det iväg ett mail. Problemet är att åäö ÅÄÖ ser konstigt ut. Går det att konvertera om dessa tecken till HTML-entities?

Här är C#-koden:

using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Web.Mail; namespace NYK { public partial class Sendmail : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { MailMessage msg = new MailMessage(); msg.From = "server@x"; msg.To = "x.x@x.se"; msg.Subject = "Kommentar - x"; msg.Body = "Kommentar: " + Request.Form.Get("Kommentar") + " |Namn: " + Request.Form.Get("Namn") + " |E-post: " + Request.Form.Get("Epost") + " |Bild-ID: " + Request.Form.Get("hiddenImageID"); SmtpMail.SmtpServer = "x.x.x.x"; SmtpMail.Send(msg); Response.Redirect(Request.ServerVariables.Get("HTTP_REFERER")); } } }

Jag har provat med message.BodyEncoding = System.Text.Encoding.UTF8; men till ingen nytta. Jag har också provat med olika teckentabeller på själva html-sidan, men det fungerar inte heller.

Någon som kan hjälpa mig? väldigt tacksam!

Permalänk
Medlem

Konstiga? hur ser de ut?
Om de är "htmlecoded" så måste du sätta
msg.IsBodyHtml = true;

Visa signatur

Utvecklare (Technical Director) / Delägare - Björnmamman

Permalänk

De blir frågetecken. Mmm, jag är nybörjare på detta. Har försökt med:

- HttpUtility.HtmlEncode(msg);
- HttpUtility.HtmlEncode(msg.body);
- string sw1 = "å";
sw1 = HttpUtility.HtmlEncode(sw1);

Jag vet inte vad du menar med htmlencoded? Formuläret är på en html-sida ja.

Tack!

Permalänk

Jag vill alltså att de åäö ÅÄÖ som besökaren skriver i formuläret konverteras om till html entities, av c#-koden.

Permalänk

Sätter du även IsBodyHtml som gameresource sa? Dubbelkolla också att du verkligen läser in rätt variabler i strängen. Med intellisense ska du kunna se rätt tecken. Är även de fel ligger ju inte felet i mailet

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Testa att sätta bodyencoding till default istället för utf8, det brukar fungera.

Visa signatur

mm, just de!

Permalänk
Skrivet av KurreKula:

Sätter du även IsBodyHtml som gameresource sa? Dubbelkolla också att du verkligen läser in rätt variabler i strängen. Med intellisense ska du kunna se rätt tecken. Är även de fel ligger ju inte felet i mailet

Som Kurre är inne på, dubbelkolla ifall du har rätt indata från den tidigare delen av programmet.

Enklaste sättet borde vara att skicka in en hårdkodad sträng som innehåller å, ä, ö till delen som skickar mailet, och kolla om den kommer fram ordentligt.

Permalänk

Ok tack, det löste sig.

Permalänk
Skrivet av Henrik MN:

Ok tack, det löste sig.

Vad var felet då?

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase