Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: [vb2010] scandinaaviset merkit sotkevat emailin

Sivun loppuun

jokke568 [24.09.2011 17:51:37]

#

Hei

Osaako joku kerota mitä pitäisi tehdä/missä vikaa kun lähetän vb:llä gmailin kautta sähköpostin ja luen sen vb:n kautta niin, jos spostissa on scandinaavisia merkkejä niin koko viesti on täynnä ihmeellisiä merkkejä, eikä saa selvää. Jos luen viestin Outlook expressin kautta niin on täysin luettavissa.

Jos scandinaavisia merkkejä ei ole niin on täysin luettavissa...

t. jokke

Grez [24.09.2011 17:56:39]

#

Näillä lähtötiedoilla voin lähinnä sanoa, että teit jotain väärin.

Kuulostaa siltä että mahdollisesti luet UTF8-enkoodatun viestin Latin1-merkistöllä jossain vaiheessa. Tarkemmin on vaikea sanoa, koska kaikki toteutuksesi yksityiskohdat ovat hämärän peitossa.

ErroR++ [24.09.2011 17:58:51]

#

Miten/millä funktiolla lähetätä postin? Minulla kävi niin, että en pystynyt enkoodaamaan äätä, öötä enkä ååta ja niistä tuli "q".

jokke568 [24.09.2011 18:08:32]

#

Näin lähetän

Dim MyMailMsg As New MailMessage
     Try
         MyMailMsg.From = New MailAddress("sposti@gmail.com", "Postia")
         MyMailMsg.To.Add(emailVastaanottaja)
         MyMailMsg.Subject = emailOtsikko
         MyMailMsg.Body = emailViesti
         MyMailMsg.IsBodyHtml = True

         Dim SMTP As New SmtpClient("smtp.gmail.com")
         SMTP.Port = 587
         SMTP.EnableSsl = True
         SMTP.Credentials = New System.Net.NetworkCredential("sposti@gmail.com", "salasana")
         SMTP.Send(MyMailMsg)

     Catch ex As Exception
     End Try

ja näin luen

http://www.a1vbcode.com/snippet-3383.asp

ErroR++ [24.09.2011 19:26:03]

#

Muuta niistä skandinavimerkeistä joitain merkkipötköjä. Tällöin pysyt lukemaan viestiä vain vastaanotinhärvelillä. Tai voithan tietysti kokeilla laittaa bodyn alkuun jotain kieli/koodausmääritelmää. Purkkaratkaisuna ehkä sopii ä (ä), ö (ö) ja joku muu.

jokke568 [24.09.2011 19:46:06]

#

Lähetin outlookin kautta viestin, jossa mm. ö ja ä kirjaimia.

vb lukee sen ja laittaa ö ja ä kirjaimien tilalle vain jonkun epämääräisen merkin, mutta ei sotke koko viestiä.

vb:n lähettämässä viestissä, jossa ö ja ä kirjaimia näyttää taas tältä:

vähän viestin alkua... :
Kioq­Ki­oq­Kioq­Kioq­Kioq­Kioq­Kioq­Kioq­Kioq­Kioq­DQoq­Kiog­S0VS­VEFSRVRLSSA
KioNCj­I0Lj­ku­Mj­Ax­MQ0KMTc6N­DYNCj­Qx­DQp­IYW5u­ZWxl­DQp­QQUk­NCkhhbm5lbGU


Voisiko vika olla kuitenkin lähettämisessä?

Pliis, joku Teistä taitavista koodaajista, auttakaa.

Kiitos

Grez [24.09.2011 21:56:21]

#

Vika on siinä, että tuo naivistinen pop3-esimerkki mitä käytät ei ymmärrä mitään sähköpostin koodausstandardeista, eikä se näin ollen sovellu kuin 7-bittistä merkistöä käyttävien viestien lukemiseen.

Voit lukea sen viestin tuolla ja hoitaa Base64-dekoodaamisen itse. Kuitenkin on mahdollista että viestit tulee Quoted Printableina, eli pitäisi lukea ne mime-otsikot ja niistä päätellä pitääkö käyttää base64-dekoodausta vai palauttaa quoted-printabled takaisin. Tai sitten voit käyttää jotain parempaa koodia, joka hoitaa käsittelyn automaattisesti.

Tuolla on esimerkiksi hieman monipuolisempi Pop3-clientti
http://www.codeproject.com/KB/IP/despop3client.aspx

jokke568 [24.09.2011 22:09:40]

#

Kiitos Grez


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta