Avatar billede heloo Nybegynder
10. januar 2005 - 10:08 Der er 24 kommentarer og
1 løsning

System.Web.Mail i .net

hvordan kan man sætte encoding på subject som man kan på body med BodyEncoding ??
Avatar billede burningice Nybegynder
10. januar 2005 - 12:48 #1
kan man ikke... subject er altid ren tekst
Avatar billede burningice Nybegynder
10. januar 2005 - 12:49 #2
.. der er body sådan set også, men nogle synes åbenbart det er meget smart at kunne lave fancy emails så derfor kan man skrive html tags i body'en, som de fleste mailklienter så kan forstå og rendere. Det kræver dog at de ved det skal fortolkes som html, og det er derfor man sætter BodyEncoding.
Avatar billede heloo Nybegynder
10. januar 2005 - 12:51 #3
hvad gør man så i kina/tyrkiet osv med subject linien ??
Avatar billede burningice Nybegynder
10. januar 2005 - 12:52 #4
... blah... og nu sidder jeg og slår hoved ned i bordet... sidder jo og ævler om format.

Ja, encoding... du tænker på at modtageren ser underlige tegn i din mail? Mig bekendt er der ikke en BodyEncoding-property, men kun en MailEncoding på selve System.Web.Mail-klassen som sætter encoding for hele mailen, inkl. subject.
Avatar billede burningice Nybegynder
10. januar 2005 - 12:55 #5
*kigger i dokumentationen*

Jo, sørme jo, om der ikke er en BodyEncoding property... det giver jo ikke mening. Og dit subject bliver ikke encodet på samme måde som body'en, når du sætter bodyencoding?
Avatar billede heloo Nybegynder
10. januar 2005 - 13:00 #6
nej, det er det der er mit problem.....
Avatar billede heloo Nybegynder
10. januar 2005 - 13:20 #7
hvordan sætter man MailEncoding på selve System.Web.Mail-klassen ??
Avatar billede burningice Nybegynder
10. januar 2005 - 14:49 #8
det var mig der rodede tingene sammen. har lige leget med et komponent der sender via rawsockets, så jeg tog det for givet at .net også havde den mulighed. Men efter at have kigget i dokumentationen kan jeg godt se dit problem. Det virker meget underligt.
Avatar billede burningice Nybegynder
10. januar 2005 - 14:50 #9
Men nu er System.Web.Mail.MailMessage jo egentlig kun en wrapper for CDO, så det kunne være du skulle kigge på andre mail-komponenter.
Avatar billede arne_v Ekspert
10. januar 2005 - 20:34 #10
Så vidt jeg kan se, så encoder System.Web.Mail.MailMessage både body + headere
(inkl. subject) når man sætter BodyEncoding !

:-)
Avatar billede burningice Nybegynder
10. januar 2005 - 20:50 #11
ja, det ville jeg også mene. Tror slet ikke man overhovedet kan encode dem hver for sig.

Men ifølge 10/01-2005 13:00:05, så er det åbenbart ikke tilfældet for heloo.
Avatar billede arne_v Ekspert
10. januar 2005 - 20:58 #12
Der er ikke noget i nogen af standarderne (SMTP, MIME etc.) som siger at de skal
være de samme.

Men de er det jo nok tit.

Jeg lavede et lille eksperiment og snuppede den rå email.

Mailer.BodyEncoding = Encoding.UTF8;

gav:

...
Subject: =?utf-8?B?VGVzdCDDhsOYw4XDpsO4w6U=?=
...
Content-Type: text/plain; charset="utf-8"
...

Begge blev sat til UTF-8.
Avatar billede burningice Nybegynder
10. januar 2005 - 21:02 #13
det jeg mener er, at ja... encoding bliver sat i Content-Type-propertien. men den gælder jo for hele mailen... hvordan vil man lave mailen hvis der skal være en encoding for subject, og en for body?
Avatar billede arne_v Ekspert
10. januar 2005 - 21:08 #14
Content-Type gælder kun for body ikke for headers.

Men Subject er jo også blevet sat til UTF-8.
Avatar billede arne_v Ekspert
10. januar 2005 - 21:11 #15
Mailer.BodyEncoding = Encoding.UTF8;

og

Mailer.Subject = "Test ÆØÅæøå";

giver

Subject: =?utf-8?B?VGVzdCDDhsOYw4XDpsO4w6U=?=
Avatar billede arne_v Ekspert
10. januar 2005 - 21:12 #16
=?utf-8?B?...?=

betyder UTF-8 Base64 encoded
Avatar billede heloo Nybegynder
11. januar 2005 - 13:11 #17
jeg har helt mistet overblikket her... har i en ide om hvad der skal til for at det kan lade sig gøre??
Avatar billede arne_v Ekspert
12. januar 2005 - 09:22 #18
Er du helt sikker på at det ikke bliver encoded med BodyEncoding ?
Avatar billede arne_v Ekspert
12. januar 2005 - 09:22 #19
Du kan jo altid lave en manual encoding.
Avatar billede arne_v Ekspert
22. januar 2005 - 22:35 #20
heloo>

Kommet videre ?
Avatar billede heloo Nybegynder
23. januar 2005 - 00:15 #21
det er jeg faktisk ikke, sorry. ved ikke rigtigt hvordan jeg skal lave en manuel encoding... bodyencoding gælder åbenbart ikke for subjektet fatter det ikke...
Avatar billede arne_v Ekspert
23. januar 2005 - 00:33 #22
Det er ikke svært:

Eksempel:

        string subject = "Test ÆØÅæøå";
        string encsubject = "=?utf-8?B?" + Convert.ToBase64String(Encoding.UTF8.GetBytes(subject)) + "?=";
Avatar billede heloo Nybegynder
23. januar 2005 - 18:25 #23
det ser godt ud tak, prøver lige i morgen så får du besked. send bare et svar ;-)
Avatar billede arne_v Ekspert
23. januar 2005 - 22:53 #24
kommer her
Avatar billede heloo Nybegynder
23. januar 2005 - 22:56 #25
;-) tak..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester