Почтовое сообщение Indy, используемое почтовыми клиентами и серверами Indy, реализуется компонентом TIdMessage со страницы библиотеки Indy Misc.
Основные свойства этого компонента могут формироваться во время проектирования с помощью Инспектор Объектов, или программно во время выполнения.
Свойство Body – это тело сообщения типа TStrings. Это свойство можно заполнить во время проектирования с помощью Инспектора Объектов. А во время выполнения можно заполнить его, например, оператором:
IdMessage1.Body := Memo1.Lines;
Для текстового тела сообщения надо, чтобы в свойстве сообщения ContentType был задан один из типов "text/*" семейства MIME, что делается по умолчанию. Вид содержимого свойства Body зависит от значения свойства только времени выполнения IsEncoded. Если IsEncoded = false, то в Body хранится обычный текст ASCII. Но если IsEncoded = true, то текст хранится в закодированном виде. Тогда посмотреть его в текстовом виде можно с помощью свойства времени выполнения MessageParts.
Свойство Recipients представляет коллекцию типа TIdEmailAddressList объектов типа TIdEMailAddressItem, отображающих адресатов сообщения. Во время проектирования Recipients задается щелчком около этого свойства в окне Инспектора Объектов, заданием в открывшемся редакторе нужно числа объектов и установкой для этих объектов типа TIdEMailAddressItem свойств Address – адрес, Name – имя, Text – текст. Можно задать только одно из этих свойств - Adress. Во время выполнения заполнять коллекцию Recipients можно методом Add. Этот метод добавляет в коллекцию и возвращает объект типа TIdEMailAddressItem, в котором можно заполнить значения указанных свойств. Впрочем, во время выполнения можно поступить и проще: задать свойство EmailAddresses свойства Recipients. Свойство EmailAddresses – это строка, в которой перечисляются адресаты, разделяемые точками с запятой.
Таким образом, можно, например, задать список адресатов оператором:
IdMessage1.Recipients.EMailAddresses := Edit1.Text;
Здесь предполагается, что список адресов записан в окне Edit1. А можно вместо этого оператора выполнить серию операторов вида:
IdMessage1.Recipients.Add.Address := 'aaa@aaa.net';
Свойства CCList и BccList аналогичны по типу свойству Recipients, но представляют собой списки адресов получателей копий и скрытых копий.
Свойство Sender рассмотренного типа TIdEMailAddressItem задает информацию об отправителе. Свойство Subject содержит строку темы сообщения.
Свойство MessageParts является коллекцией типа TIdMessageParts объектов типа TIdMessagePart, которые описывают присоединенные к письму файлы. Добавлять элементы в MessageParts можно методом Add, возвращающим объект типа TIdMessagePart, в котором можно задать значения соответствующих свойств. |