Почтовик (Indy) - как хранить письма?

SKlll
Дата: 20.05.2011 14:59:43
Интересуют два вопроса:
- Как сохранить полученное письмо в *.eml файл?
- Каким образом хранить полученные письма с вложениями? БД?-какая для таких целей лучше? Раскидывать всё в разные поля, или хранить в одном Memo?
defecator
Дата: 20.05.2011 15:23:50
SKlll
Интересуют два вопроса:
- Как сохранить полученное письмо в *.eml файл?
- Каким образом хранить полученные письма с вложениями? БД?-какая для таких целей лучше? Раскидывать всё в разные поля, или хранить в одном Memo?


я раскидываю в разные таблицы, плюс храню все тело целиком.
SKlll
Дата: 20.05.2011 15:50:51
defecator, а прикреплённые файлы?
defecator
Дата: 20.05.2011 15:53:06
SKlll
defecator, а прикреплённые файлы?


тело письма парсится полностью, аттачи вынимаются и хранятся тоже отдельно.
Как и все остальные части письма
defecator
Дата: 20.05.2011 15:57:02
Для парсинга наиболее удобный формат - .msg, а не бинарный EML.

.MSG легко и непринужденно парсится классами из древней библиотеки Mail2000.
Можно в инете найти легко
Anatoly Podgoretsky
Дата: 20.05.2011 16:42:48
defecator
Для парсинга наиболее удобный формат - .msg, а не бинарный EML.

.MSG легко и непринужденно парсится классами из древней библиотеки Mail2000.
Можно в инете найти легко

EML это текстовый файл, а msg слишком распространеное расширение, там и текстовые форматы есть и двоичные.
SKlll
Дата: 20.05.2011 18:45:59
defecator
тело письма парсится полностью, аттачи вынимаются и хранятся тоже отдельно.
Как и все остальные части письма
Отдельно - это в отдельной папке, а в БД ссылка на файл? Или blob поле используете?
SKlll
Дата: 22.05.2011 07:17:28
Так что на счёт аттачей? (последний вопрос)
И как-то я пропустил, но каким образом переменной присвоить "всё тело письма целиком"? (как если бы письмо сохранили в *.eml файл, а потом открыли в блокноте и скопировали весь текст) Вот как всё, включая теги, получить в виде единого текста?
defecator
Дата: 22.05.2011 10:30:53
SKlll
Так что на счёт аттачей? (последний вопрос)
И как-то я пропустил, но каким образом переменной присвоить "всё тело письма целиком"? (как если бы письмо сохранили в *.eml файл, а потом открыли в блокноте и скопировали весь текст) Вот как всё, включая теги, получить в виде единого текста?


Чет слабо я что-то понимаю, что же тебе надо...
SKlll
Дата: 22.05.2011 19:16:45
defecator
что же тебе надо...
1) Вложения - каким образом Вы их храните? Если я остановлюсь, скажем, на SQLite - реально в ней будет хранить файлы?
2) Как получить текст письма целиком? (всё- теги, вложение, текст) Откройте свой почтовик, сохраните письмо в *.eml, затем откройте этот файл в блокноте... Вот как этот весь текст получить программно?
if Msg.MessageParts.Items[c] is TIdAttachment then 
if Msg.MessageParts.Items[c] is TIdText then 
Вы же сами написали: "плюс храню все тело целиком" - а как вы тело целиком то получаете?