---
title: "Html-mail encoding(?)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/82206-html-mail-encoding"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Brimba"
published: "2003-07-17T10:01:03.000Z"
updated: "2003-07-18T09:11:28.000Z"
replies: 32
views: 1079
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/82206-html-mail-encoding"
---

# Html-mail encoding(?)

_Sida 1 av 2._

## #1 — Brimba, 2003-07-17T10:01Z

Någon som har skickat HTML mail med .net? När jag sätter mail.body till htmlkod så ser det perfekt ut, men mailet som kommer har tappat massa tecken, och det är olika om jag kollar i outlook express eller IMail (webmail). Jag har provat att sätta encoding iso-8859-1 och utf-8 på både mailet, streamingen samt html-sidan som jag hämtar från nätet. Någon som har varit ute för samma problem, eller tips på hur tusan man felsöker när det som ligger i mailobjektet är rätt och efter SmtpMail.Send(mail) så ändras uppenbarligen något, alternativt är det så att htmlsidan tolkas fel, men varför i så fall?

Jag har provat att använda både HttpWebRequest och WebClient för att hämta sidan, men det gör ingen skillnad.

Permalänk: https://www.webforum.nu/p/82206

## #2 — renholm, 2003-07-17T10:28Z

Har inte varit med om samma problem men har ett förslag, du kan testa att försöka köra samma encoding för sidan som för mailet, om du märker om enoding sp att det på sidan t.ex var UTF-8 och sedan när du mailar iväg det säger du att det är iso-8859-1 då kan det bli fel.

Permalänk: https://www.webforum.nu/p/1113633

## #3 — Nickemannen, 2003-07-17T10:32Z

Om den skickas utan encoding alls som vissa gör så måste det vara iso-8859-1 som tar emot det om det är åäö med. Annars försvinner dessa.

// Redigering

Du kan inte skicka mailet inkluderat mailhuvudet.

Permalänk: https://www.webforum.nu/p/1113636

## #4 — Brimba, 2003-07-17T10:32Z

Jag har kört samma encoding rätt igenom, både på sidan och encodingen på streamReadern samt encoding på mailMessage.

Exempel:

```
[b]--asp[/b]
Response.CodePage = "1252"
Response.CharSet = "iso-8859-1"

[b]--stream[/b]
stream = new StreamReader(oResponse.GetResponseStream(),System.Text.Encoding.GetEncoding("iso-8859-1"));

[b]--mail[/b]
mail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-8859-1");
```

Permalänk: https://www.webforum.nu/p/1113637

## #5 — Brimba, 2003-07-17T10:33Z

Jag har inga problem med åäö, de syns perfekt, problemet är att tecken försvinner. Det känns ibland som att streamreadern inte hinner läsa all information från sidan, men jag hittar ingen inställning för om den skall kräva att läsa klart som det finns på xml.

Jag använder nedanstående för att läsa strömmen till en sträng.

```
string sBody = stream.ReadToEnd();
```

Permalänk: https://www.webforum.nu/p/1113638

## #6 — renholm, 2003-07-17T10:35Z

Du kanske kan testa och läsa den till en memorystream och sedan därefter vidare ner i mailet.

Permalänk: https://www.webforum.nu/p/1113641

## #7 — Nickemannen, 2003-07-17T10:36Z

Skicka mailet och mailhuvudet i oformaterat

Permalänk: https://www.webforum.nu/p/1113643

## #8 — Brimba, 2003-07-17T10:42Z

Jag testade nu att skicka mailet oformaterat och därmed skickas det som text.

När jag valde att inte sätta någon encoding på streamern så kom alla tecken med förutom att åäö inte fanns. Men den tog i alla fall inte bort något förutom det.

Permalänk: https://www.webforum.nu/p/1113646

## #9 — Nickemannen, 2003-07-17T10:44Z

Vad knepigt.
Testa att använda TcpClient() istället när du skall ta emot.

Permalänk: https://www.webforum.nu/p/1113649

## #10 — Brimba, 2003-07-17T10:45Z

FEL! 

Det försvann visst tecken, men nu inte på samma ställe.
Det verkar som att den läser ett visst antal tecken och sedan missbedömer den var den skall börja nästa gång.

Permalänk: https://www.webforum.nu/p/1113650

## #11 — Nickemannen, 2003-07-17T10:49Z

Hur gör du från första början ?
Förklara tills du kommer till att du skall ta emot mailet.

Permalänk: https://www.webforum.nu/p/1113654

## #12 — Brimba, 2003-07-17T10:52Z

```
HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create("http://localhost/mp/mypage.asp");
WebResponse oResponse = oReq.GetResponse();
stream = new StreamReader(oResponse.GetResponseStream(),System.Text.Encoding.UTF8);
string sBody = stream.ReadToEnd();
stream.Close();
```

Det är sBody jag skickar in i mailet sedan.

Permalänk: https://www.webforum.nu/p/1113658

## #13 — Brimba, 2003-07-17T10:55Z

Och sBody innehåller all information, men efter att jag skickat det så innehåller det alltså inte all information.

Permalänk: https://www.webforum.nu/p/1113661

## #14 — Nickemannen, 2003-07-17T10:56Z

Aha,
Men då behöver det väl inte vara fel på själva mailet utan HttpWebRequest. (Kanske det ni kommit fram till)

Permalänk: https://www.webforum.nu/p/1113662

## #15 — Nickemannen, 2003-07-17T11:00Z

Testa att ta bort Encodingen på alla ställen utom där du tar emot det från HttpRequest

Permalänk: https://www.webforum.nu/p/1113666

## #16 — Brimba, 2003-07-17T11:02Z

Varför skulle det vara fel på HttpWebRequest?

Såhär är det:

```
MailMessage mail = new MailMessage();
mail.To = "to@me.se";
mail.From = "to@me.se";
mail.Subject = "subject!";
mail.Body = sBody;
			
SmtpMail.SmtpServer = "mail.domain.se";
SmtpMail.Send(mail);
```

När jag debuggar och kollar sBody så innehåller den all information som skall skickas, men när jag sedan läser mailet som text (eftersom jag inte satt bodyFormat till HTML) så ser jag att det saknas massa kod (det som fanns i sBody vid debuggningen). Så frågan är var problemet ligger, det verkar ju inte vara encoding eftersom det inte är problem med åäö eller så utan snarare att det försvinner massa kod. Det är inte bara sist utan det kan försvinna tecken mitt i koden osv, men det är alltid på samma ställe (dock olika ställen om man byter encoding).

Permalänk: https://www.webforum.nu/p/1113668

## #17 — Nickemannen, 2003-07-17T11:04Z

Jo, men testa att inte sätt någon encoding på sidan. Eller när du skall skicka iväg det med MailMessage.

Permalänk: https://www.webforum.nu/p/1113671

## #18 — Brimba, 2003-07-17T11:04Z

> **Nickemannen skrev:**
>
> Testa att ta bort Encodingen på alla ställen utom där du tar emot det från HttpRequest 
> 
> och
> 
> Jo, men testa att inte sätt någon encoding på sidan. Eller när du skall skicka iväg det med MailMessage.

 Ingen skillnad

Permalänk: https://www.webforum.nu/p/1113672

## #19 — renholm, 2003-07-17T11:04Z

skulle du kunna visa ett utdrag ur hur mailet ser ut när du får det samt hur ursprungstexten är så kanske man kan komma fram till problemet.

Permalänk: https://www.webforum.nu/p/1113675

## #20 — Brimba, 2003-07-17T11:05Z

Jag skall se om problemet består med med dummykod.

Permalänk: https://www.webforum.nu/p/1113677

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/82206-html-mail-encoding  
Nästa sida: https://www.webforum.nu/amne/dotnet/82206-html-mail-encoding/page2.md
