hpop icon indicating copy to clipboard operation
hpop copied to clipboard

Incorrect decode UTF-8 encoded mail address

Open cshrper opened this issue 8 years ago • 3 comments

bug occurs when I load Message from ".eml" file, that has been created some other program, and it has the MailAddress encoded in UTF-8, for example: I got decoded value "Лучшему кл��енту [email protected]" instead of "Лучшему клиенту [email protected]"

you can test old version with headers: X-Sender: =?utf-8?Q?=D0=A3=D0=B2=D0=B0=D0=B6=D0=B0=D0=B5=D0=BC=D1=8B=D0?= =?utf-8?Q?=B9_=D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D1=89=D0=B8=D0=BA?= [email protected] X-Receiver: =?utf-8?Q?=D0=9B=D1=83=D1=87=D1=88=D0=B5=D0=BC=D1=83_=D0=BA?= =?utf-8?Q?=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D1=83?= [email protected] X-Receiver: =?utf-8?Q?=D0=9B=D1=83=D1=87=D1=88=D0=B5=D0=BC=D1=83_=D0=B4?= =?utf-8?Q?=D1=80=D1=83=D0=B3=D1=83_=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0?= =?utf-8?Q?=B3=D0=BE_=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= [email protected] MIME-Version: 1.0 From: =?utf-8?Q?=D0=A3=D0=B2=D0=B0=D0=B6=D0=B0=D0=B5=D0=BC=D1=8B=D0=B9?= =?utf-8?Q?=D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D1=89=D0=B8=D0=BA?= [email protected] To: =?utf-8?Q?=D0=9B=D1=83=D1=87=D1=88=D0=B5=D0=BC=D1=83=D0=BA=D0=BB=D0?= =?utf-8?Q?=B8=D0=B5=D0=BD=D1=82=D1=83?= [email protected], =?utf-8?Q?=D0=9B=D1=83=D1=87=D1=88=D0=B5=D0=BC=D1=83_=D0=B4=D1=80=D1?= =?utf-8?Q?=83=D0=B3=D1=83_=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=B3=D0=BE?= =?utf-8?Q?_=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= [email protected]

cshrper avatar Mar 16 '16 17:03 cshrper

Hello and thank you for your pull request. Is it possible that you could change the indentation to tabs and add a test case such that that this bug will not be reintroduced again? Then I would merge the pull request.

foens avatar Mar 19 '16 09:03 foens

No, I do not change any thing. I just do so: var to = new MailAddress("[email protected]", "Лучшему клиенту"); var from = new MailAddress("[email protected]", "Уважаемый поставщик"); var message = new MailMessage(from, to); message.To.Add(new MailAddress("[email protected]", "Лучшему другу лучшего клиента")); message.Subject = "Используем новый SMTP клиент."; message.SubjectEncoding = Encoding.UTF8;

message.Body = "Using this new feature, you can send an e-mail message from an application very easily."; message.BodyEncoding = Encoding.UTF8; var smtpClient = new System.Net.Mail.SmtpClient { DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory }; smtpClient.PickupDirectoryLocation = tempDir.DirectoryPath; smtpClient.Send(message);

And then I try to load message: var msg = OpenPop.Mime.Message.Load(new FileInfo(Path.Combine(path, "Test.eml")));

cshrper avatar Mar 20 '16 10:03 cshrper

This patch is broken. The patch assumes that each encoded word token uses the exact same encoding and charset values, but neither are guaranteed to be the case.

jstedfast avatar Jul 03 '16 18:07 jstedfast