e-mail

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

e-mail

Сообщение Sasha_karasov » 18.12.2005 (Вс) 3:28

Привет, Всем!
У меня есть на e-mail'e файл, как мне его достать от туда вот что мне приходит:
Код: Выделить всё
+OK

+OK Password required for user karasov_sasha

+OK karasov_sasha@mail.ru maildrop has 2 messages (2274 octets)

+OK 1215 octets

Return-path: <karasov_sasha@mail.ru>
Received: from [195.5.61.193] (port=61962 helo=KARASOVS)
   by mx3.mail.ru with esmtp
   id 1EnmI2-0004sv-00
   for karasov_sasha@mail.ru; Sun, 18 Dec 2005 03:20:38 +0300
Date: Sun, 18 Dec 2005 02:20:45 +0200
From: karasov_sasha <karasov_sasha@mail.ru>
X-Mailer: The Bat! (v3.5.25) UNREG / CD5BF9353B3B7091
Reply-To: karasov_sasha <karasov_sasha@mail.ru>
X-Priority: 3 (Normal)
Message-ID: <791802143.20051218022045@mail.ru>
To: karasov_sasha@mail.ru
Subject: =?Windows-1251?Q?=D4=C0=C9=CB?=
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----------10F1241E62C57912B"

------------10F1241E62C57912B
Content-Type: text/plain; charset=Windows-1251
Content-Transfer-Encoding: quoted-printable

=C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5, .



--=20
=D1 =F3=E2=E0=E6=E5=ED=E8=E5=EC,
karasov_sasha                          mailto:karasov_sasha@mail.ru
------------10F1241E62C57912B
Content-Type: text/plain; name="=?Windows-1251?Q?=CF=D0=C8=C2=C5=D2=2Etxt?="
Content-Disposition: attachment; filename="=?Windows-1251?Q?=CF=D0=C8=C2=C5=D2=2Etxt?="
Content-Transfer-Encoding: base64

MTIzNDU2Nzg5
------------10F1241E62C57912B--


.

это лог работы моей прогрммы, тоесть я хочу узнать как из сообщения достать файл?
Пожалуйста помогите может OCX. На форуме искал, искал на ya.ru по слову smtp и pop3. :(
Удачи!
С уважением, Алексадр.

Sasha_karasov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 436
Зарегистрирован: 03.03.2005 (Чт) 19:38
Откуда: ua.dp

Сообщение Sasha_karasov » 18.12.2005 (Вс) 6:04

Да блин это не самый лудший метод! Если есть исходник для получения почты с файлами, скиньте плиз. Очень нужно.
Удачи!
С уважением, Алексадр.

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 18.12.2005 (Вс) 6:50

Sasha_karasov писал(а):Да блин это не самый лудший метод!
Имелось ввиду приблудший? :)
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 18.12.2005 (Вс) 12:16

используй бесплатную библу freemail.dll

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 18.12.2005 (Вс) 22:20

Делать разбор строк и изучать документы RFC****

Вот это:
C7=E4=F0=E0=E2=F1=F2=E2=F3=E9=F2=E5, .

закодировано по алгортиму Quoted-printable. Другой вариант-Base-64.

В начале сообщения идут поля. Имя каждого поля заканчивается двоеточием.

Вот это :
----------10F1241E62C57912B


- граница отдельных частей сообщения

То, что письмо состоит из частей, помечается в поле Content-type

Content-Type: multipart/mixed

Само письмо заканчивается пустой строкой и точкой. Всего сразу не скажешь - это - тема не одной статьи.

Grey_Brother
Новичок
Новичок
Аватара пользователя
 
Сообщения: 36
Зарегистрирован: 09.02.2006 (Чт) 10:36
Откуда: Санкт-Петербург

Сообщение Grey_Brother » 15.02.2006 (Ср) 19:54

На всякий случай:

Механизм конвертации "Quoted-Printable"

Этот механизм предназначен для представления данных, в основном состоящих из байтов, соответствующих символам, имеющим изображение в символьном наборе ASCII. В результате данного кодирования все байты будут иметь такие значения, гарантированные от дальнейшей модификации почтовым транспортом. Если конвертируемые данные в основном представляют собой ASCII-текст, то конечная их форма остается узнаваемой и читаемой для человека. Тело, полностью состоящее из ASCII-символов, также может быть конвертироавано в Quoted-Printable, что гарантирует его содержимому целостность при прохождении через всякие шлюзы, в которых происходит языковая перекодировка символов или преобразование концов строк и т.д.

В Quoted-Printable байты должны быть рпедставлены в соответствии со следующими правилами:

ПРАВИЛО #1: (обычное 8-битное представление). Каждый байт, кроме тех, которые используются для обозначения конца строки, может быть представлен с помощью двух шестнадцатиричных цифр, предворяемых знаком "=". При написании шестнадцатиричных цифр с A по F должны использоваться заглавные буквы. Кроме тех случаев, когда нижеследующие правила позволяют альтернативное кодирование, данное правило является обязательным.

ПРАВИЛО #2: (Буквенное представление). Байты с десятичным значением с 33 по 60 и с 62 по 126 МОГУТ быть представлены ASCII-символами, соответствующими этим значениям (с '!' по '<' и с '>' по '~').

ПРАВИЛО #3: (Пробелы): Байты со значениями 9 и 32 МОГУТ быть представлены как ASCII-символы "Табуляция" и "Пробел", но НЕ ДОЛЖНЫ быть представлены так в конце строки. Везде, где они представлены соответствующими ASCII-символами, за ними должен следовать символ, имеющий графическое изображение (печатный символ). В конце же строки символы табуляции и пробела должны быть представлены в соответствии с правилом #1, так как некоторые почтовые транспорты могут убирать пробелы в конце строки.

ПРАВИЛО #4: (Конец строки): Конец строки в тексте письма должен быть представлен (в соответствии с RFC 822) последовательностью CRLF. Так как в каноническом представлении текста не требуется визуального отображения символов конца строки, в Quoted-Printable не используется видимых символов для обозначения конца строки. Для представления бинарных данных более предпочтительной является кодировка base64.

Необходимо заметить, что многие реализации почтовых программ могут кодировать по-своему. В частности, при представлеии текста в системах, использующих другие соглашения по обозначению конца строки (отличные от CRLF). Такие реализации недопустимы, и генерация концов строки должна быть стандартизована везде, чтобы не требовалось распознавать, используется ли какое-либо альтернативное представление.

ПРАВИЛО #5: (Мягкий конец строки): В соответствии с Quoted-Printable длина строки не должна превышать 76 символов. В противном случае используется 'мягкий' перевод строки, представимый знаком равенства. Например, если исходная строка имела вид:

Now's the time for all folk to come to the aid of
their country.

то в Quoted-Printable encoding он может быть представлена следующим образом:

Now's the time =
for all folk to come=
to the aid of their country.

Это обеспечивает механизм восстановления исходной длины строки пользовательским почтовыи агентом.

Поскольку символ дефиса ("-") представляется в Quoted-Printable в обычном виде, особую осторожность нужно соблюдать при заключении тела в Quoted-Printable в многочастное письмо, чтобы удостовериться, что граница этого включения не проявляется нигде внутри этого включения (лучше всего выбрать обозначение границы в виде последовательности символов "=_", которая никогда не появляется в теле, закодированном в Quoted-Printable. См. определение многочастного письма далее.)

ЗАМЕЧАНИЕ: Quoted-Printable представляет собой нечто вроде компромисса между читабельностью и сохранностью при пересылке. Тела в Quoted-Printable будут надежно защищены при прохождении многих почтовых шлюзов, но могут быть не очень хорошо переданы через некоторые шлюзы, использующие трансляцию в EBCDIC. (Теоретически, EBCDIC-шлюз должен кодировать тело из quoted-printable в base64 и затем декодировать обратно, но таких шлюзов пока не существует). Единственный способ добится действительно надежной транспортировки через EBCDIC-шлюз - экранировать ASCII-символы

!"#$@[\]^`{|}~

в соответствии с правилом #1.

Так как данные в quoted-printable являются строчно-ориентированными, можно ожидать, что представление концов строки в Quoted-Printable будет изменено почтовым транспортом таким же образом, как и обычный текст может измениться при пересылке по Internet-почте между системами с разными соглашениями по представлению концов строки. Если подобные изменения могут нарушить целостность данных, то имеет смысл пользоваться кодировкой base64, а не Quoted-Printable.

Вниманию создателей ПО: Если двоичные данные пересылаются в Quoted-Printable, то надо соблюдать осторожность при кодировании символов CR и LF. В частности, последовательность CRLF должна быть представлена как "=0D=0A", в противном случае, если CRLF означает конец строки, то она может быть неверно интерпретирована в платформах с другими соглашениями по концу строки.


vbskb_rfc vbskb_mail vbskb_mail_quoted vbskb_mail_base64
С уважением, GB.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 123

    TopList