U
unx
Я понимаю, что немного не в тот раздел написал, но, на мой взгляд здесь лучше в этом разбераются.
Проблема следующая:
Необходимо в Delphi проходить по входящим письмам и если они с определенной темой, то вытаскивать из них прикрепленные файлы и дальше обрабатывать их.
Процесс "хождения" по письмам реализован примерно следующим образом:
________________________________________
далее обработка письма
Файл можно вытащить таким образом:
- но это если знать его имя.
Мне же необходимо взять прикрепленный объект из письма, при условии, что я не знаю его имени.
Далее, у mail (Mail: IDocument есть свойство mail.EmbeddedObjects , но оно возвращает тип OleVariant и как его обрабатывать я не знаю. Есть ли какой-нибудь пример (не обязательно на delphi), который бы наглядно показывал как обращаться к прикрепленным документам не зная их количества и названия.
Пример кода, содержащий
я смотрел, но адаптировать к Delphi не смог.
Проблема следующая:
Необходимо в Delphi проходить по входящим письмам и если они с определенной темой, то вытаскивать из них прикрепленные файлы и дальше обрабатывать их.
Процесс "хождения" по письмам реализован примерно следующим образом:
Код:
var
db: IDatabase;
Mail: IDocument;
id:IViewEntryCollection;
x, i: integer;
View: NotesView;
rtitem : Variant;
begin
db := Form1.NotesSession.GetDatabase(Form1.NotesSession.GetEnvironmentString('MailServer', true),
Form1.NotesSession.GetEnvironmentString('MailFile', true), False) ;
Views := db.Views;
for y := 0 to VarArrayHighBound(Views, 1) -
VarArrayLowBound(Views, 1) do
begin
View := NotesView(IUnknown(Views[y]));
if View.Name='($Inbox)' then
begin
id:=view.AllEntries;
mail:=id.Parent.GetFirstDocument;
iv:=id.GetFirstEntry;
for i:=1 to id.Count-1 do
begin
mail:=id.Parent.GetNextDocument(mail);
try
rtItem:=mail.GetFirstItem('body');
далее обработка письма
Файл можно вытащить таким образом:
Код:
mail.GetAttachment('ИМЯ_ФАЙЛА').Name
Мне же необходимо взять прикрепленный объект из письма, при условии, что я не знаю его имени.
Далее, у mail (Mail: IDocument есть свойство mail.EmbeddedObjects , но оно возвращает тип OleVariant и как его обрабатывать я не знаю. Есть ли какой-нибудь пример (не обязательно на delphi), который бы наглядно показывал как обращаться к прикрепленным документам не зная их количества и названия.
Пример кода, содержащий
Код:
...............
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) _
...............