Gå til innhold

Anbefalte innlegg

Hei!

 

Jeg har laget/redigert/funnet/herjet med en liten klasse i VB.NET som lar meg sende epost fra min Pocket PC (bruker Exchange normalt, men av og til er det hendig å kunne sende mail med en annen adresse som avsender).

 

Den fungerer fint. Men hva må jeg ta med av "encoding" for å få med norske tegn?

 

Noen som vet? :)

 

 

Har brukt denne:

http://en.wikipedia.org/wiki/SMTP#Sample_communications

Endret av moskus
Lenke til kommentar
Videoannonse
Annonse

Jeg kjenner ikke VB.Net, og hvis jeg forstår deg rett er det content encoding du vil fram til. I Delphi bruker jeg:

Content-Type: text/plain, charset="iso-8859-1"

content-Transfer-Encoding: base64 (evn. quoted-printable).

Antar du har de samme mulighetene ... sånn pluss/minus 3 desibel :D

Endret av tasle
Lenke til kommentar
Jeg kjenner ikke VB.Net, og hvis jeg forstår deg rett er det content encoding du vil fram til. I Delphi bruker jeg:

Content-Type: text/plain, charset="iso-8859-1"

content-Transfer-Encoding: base64 (evn. quoted-printable).

Hva det kodes i er forsåvidt ikke så nøye, det er jo tekst som sendes over nett uansett.

Og dette er akkurat det jeg leter etter! :)

 

 

Bare hvor skal dette plasseres?

Og er det dette så er en såkaldt "custom header"?

Kanskje du har et eksempel

:blush:

 

 

[...]sånn pluss/minus 3 desibel  :D

:mrgreen:

 

... og takk for hjelpen! :)

Lenke til kommentar

http://en.wikipedia.org/wiki/Simple_Mail_T..._communications

 

Så vidt jeg husker sendes Content-Type sammen med resten, på akkurat samme måte som feks. subjekt/til/fra. Med andre ord, jeg *trooor* dette er gyldig.

S: 220 www.example.com ESMTP Postfix

C: HELO mydomain.com

S: 250 Hello mydomain.com

C: MAIL FROM:<[email protected]>

S: 250 Ok

C: RCPT TO:<[email protected]>

S: 250 Ok

C: DATA

S: 354 End data with <CR><LF>.<CR><LF>

C: Subject: test message

C: From: [email protected]

C: To: [email protected]

C: MIME-Version: 1.0

C: Content-Type: text/plain, charset="iso-8859-1"

C: Content-Transfer-Encoding: base64

C: Hello,

C: This is a test.

C: Goodbye.

C: .

S: 250 Ok: queued as 12345

C: QUIT

S: 221 Bye

Endret av Jonas
Lenke til kommentar

Det må være et ekstra linjeskift etter siste header. MIME-header er ikke nødvendig om meldingen ikke er multipartet.

 

Content-type skrives slik:

 

Content-type: text/plain; charset=iso-8859-1

 

Så er det jo viktig å encode teksten som det man setter som Content-transfer-encoding. Denne er ofte satt til quoted-printable, som betyr at man encoder teksten som quoted-printable (sjokk! :p). Alle spesialtegn blir da encodet på en spesiell metode. Base64 er stort sett bare brukt i spam og i vedlegg. Siden det ofte blir brukt i spam vet jeg også at spamassassin gir base64-meldinger noen poeng.

Lenke til kommentar

            strMessage = "MAIL FROM:" & _from & ControlChars.CrLf & _
                        "RCPT TO:" & _to & ControlChars.CrLf & _
                        "Mime-Version: 1.0" & ControlChars.CrLf & _
                        "DATA" & ControlChars.CrLf & _
                        "date:" & _date.ToString & ControlChars.CrLf & _
                        "from:" & _from & ControlChars.CrLf & _
                        "to:" & _to & ControlChars.CrLf & _
                        "cc:" & _cc & ControlChars.CrLf & _
                        "bcc:" & _bcc & ControlChars.CrLf & _
                        "Content-Type: text/plain, charset=iso-8859-1" & ControlChars.CrLf & _
                        "Content-Transfer-Encoding: 8bit" & ControlChars.CrLf & _
                        "subject:" & _subject & ControlChars.CrLf & _
                        _body & ControlChars.CrLf & _
                        "." & ControlChars.CrLf

           Dim sendBytes As [Byte]() = Encoding.UTF8.GetBytes(strMessage)
           ns.Write(sendBytes, 0, sendBytes.Length)

 

OK, jeg er fremdeles lost. Prøvde med Dim sendBytes As [byte]() = Encoding.ASCII.GetBytes(strMessage), men den returnerer kun "?" for æ, ø og å (tror jeg da)...

 

Hva skal jeg sette for "Content-Transerf-Encoding" med tislvarende Encoding til byte (alternativer er ASCII, UniCode, UTF7 og UTF8).

 

 

Jeg har prøvd med "7bit"/"UTF7", "8bit"/"UTF8" og diverse andre. Hvorfor skal det være så vanskelig? (Det er bare å innrømme at jeg er fjern på e-post og koding. ;))

Endret av moskus
Lenke til kommentar

Jo, men dessverre virker det som at trenden er at serveren i andre enden ikke forstår UTF-8... ? :(

 

 

Men gav opp det, og prøver nå å lage en standard konverter til quoted-printable. :)

Endret av moskus
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...