Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Разобрать почтовое сообщение


Автор: Alexey91 6.5.2012, 12:00
Здравствуйте!!

Пишу почтовый клиент.
Для тестирования использую telnet. 
Мне нужно, чтобы моя программа могла читать от сообщения основные заголовки (кому, от кого) и тело сообщения.
Выполнив команду retr, получил сообщение такого вида:

Код

retr 2
+OK 1197 octets
Return-path: <anov91@mail.ru>
Received: from mail by f252.mail.ru with local (envelope-from <anov91@mail.ru>
        id 1SQwwF-0003la-Km
        for anov91@mail.ru; Sun, 06 May 2012 12:35:31 +0400
Received: from [171.39.145.102] by e.mail.ru with HTTP;
        Sun, 06 May 2012 12:35:31 +0400
From: =?UTF-8?B?0JDQu9C10LrRgdC10Lkg0J3QvtCy0L7QttC40LvQvtCy?= <anov91@mail.ru
To: =?UTF-8?B?YW5vdjkx?= <anov91@mail.ru>
Subject: =?UTF-8?B?dG8gQWxleA==?=
Mime-Version: 1.0
X-Mailer: mPOP Web-Mail 2.19
Date: Sun, 06 May 2012 12:35:31 +0400
Reply-To: =?UTF-8?B?0JDQu9C10LrRgdC10Lkg0J3QvtCy0L7QttC40LvQvtCy?= <anov91@mai
ru>
X-Priority:
Content-Type: multipart/alternative;
        boundary="--ALT--nucMt5l81336293331"
Message-Id: <E1SQwwF-0003la-Km.anov91-mail-ru@f252.mail.ru>
X-Spam: Not detected
X-Mras: Ok


----ALT--nucMt5l81336293331
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

SGVsbG8sIEFsZXghIDopCgoKLS0gCgo=
----ALT--nucMt5l81336293331
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

CjxIVE1MPjxCT0RZPjxkaXY+SGVsbG8sIEFsZXghIDopPGJyPjxicj48YnI+LS0gPGJyPjxicj48
L2Rpdj48L0JPRFk+PC9IVE1MPgo=
----ALT--nucMt5l81336293331--

.


Видимо данные в нем такие как тело сообщения закодированы.
Что можно сделать?

Автор: disputant 6.5.2012, 13:00
От: "Алексей Новожилов" smile

Прогугляйтесь в первую очередь на тему RFC 2047, потом - base64, разных кодировок...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)