Страница 1 из 1

Выбор имени почтового ящика в Synapse по подстроке в UTF8

СообщениеДобавлено: 19.06.2013 16:02:28
Ism
Эта функция возвращает имя почтового ящика в UTF7 , в SMTP используется искаженный вариант этой кодировки
В Synapse есть специальная опция для этого UTF_7mod

Код: Выделить всё
function SynapseSearchFolderSubstr(ImapSnd:TIMAPSend;FolderUTF8:string):string;
var
  TrashNameUTF7:string;
  StrList:TStringList;
  i,count:integer;
begin
  //Поиск ящика по подстроке
  StrList:=TStringList.Create;
  TrashNameUTF7:=CharsetConversion(FolderUTF8,UTF_8,UTF_7mod);
  SynapseSearchFolderSubstr:='';
  StrList.Clear;
  imapsnd.List('',StrList);
  count:=0;
  for i:=0 to StrList.Count-1 do
  begin
    if Pos(TrashNameUTF7,StrList[i])>0 then
    begin
      SynapseSearchFolderSubstr:=StrList[i];
      inc(count);
    end;
  end;
  if count>1 then ShowMessage('Найдено больше 1 ящика');
  //if count=0 then ShowMessage('Ящик по подстроке не найден');
  FreeAndNil(StrList);
end;