Email contains an UTF-8 encoded XML file attachment. I am looking for a way to read this using an ASP.NET/Mono MVC4 application. I tried using openpop as described in How to save an email attachment using OpenPop using code
using (OpenPop.Pop3.Pop3Client client = new Pop3Client()) { client.Connect("mail.company.com", 110, false); client.Authenticate("user", "pass", AuthenticationMethod.UsernameAndPassword); if (client.Connected) { int messageCount = client.GetMessageCount(); List<Message> allMessages = new List<Message>(messageCount); for (int i = messageCount; i > 0; i--) { var msg = client.GetMessage(i); var att = msg.FindAllAttachments(); foreach (var ado in att) { var xml = ado.GetBodyAsText();
As a result of xml, accented string characters are converted to tow? Tags. XXXLTEC O=C3=9C in the message below appears as XXXLTEC O?? in the xml variable. Correct result: XXXLTEC OΓ
How to read UTF-8? I did not find in OpenPop any option for the correct conversion.
The XML attachment in the message appears as
------=_NextPart_000_0066_01D0302C.83D6EFA0 Content-Type: text/xml; name="tapitolemas.xml" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="tapitolemas.xml" <?xml version=3D"1.0" encoding=3D"UTF-8"?> <E-Document> <Header> <DateIssued>2015-01-02T13:27</DateIssued> <SenderID>-</SenderID> <ReceiverID>1COL</ReceiverID> </Header> <Document> <DocumentType>invoice</DocumentType> <DocumentFunction>original</DocumentFunction> <DocumentParties> <BuyerParty context=3D"partner"> <PartyCode>1COL</PartyCode> <Name>XXXLTEC O=C3=9C</Name>
Andrus
source share