TIdSMTP и TIdIMAP4 - почтовые клиенты Indy

Источник: codingrus
Kest

Клиентские почтовые компоненты Indy TIdSMTP и TIdIMAP4 имеют много общих свойств, которые могут устанавливаться в процессе проектирования в окне Инспектора Объектов, или задаваться программно. Свойство Port в обоих компонентах задается по умолчанию (25 в TIdSMTP и 143 в TIdIMAP4), и вред ли стоит менять эти значения. Во всяком случае, надо следить, чтобы разные службы не использовали одинаковые порты.

Свойство Host должно содержать строку с именем или адресом IP почтового сервера, с которым устанавливается связь. Например: "SMTP.online.ru". Если сервер реализован на вашем компьютере с помощью соответствующего серверного компонента, то в качестве значения Host надо задать имя компьютера (например, "MyComputer" или "localhost"), а можно задать адрес: "127.0.0.1".
Свойства Username и Password определяют имя пользователя и пароль, необходимые при соединении с сервером (если они необходимы).

Задание перечисленных свойств - тот минимум, который требуется для соединения с почтовым сервером. Соединение осуществляется методом Connect.В качестве необязательного аргумента в метод может быть передано время ожидания соединения в миллисекундах. В качестве такого аргумента может использоваться также константа IdTimeoutDefault - время ожидания по умолчанию.
Если во время соединения возникли ошибки, генерируется исключение EIdSocketError, которое следует перехватывать.

Закрывается соединение методом Disconnect.
Отправка сообщения в рассматриваемых компонентах осуществляется по-разному. В компоненте TIdSMTP для отправки используется метод Send:

procedure Send(AMsg: TIdMessage);

Параметр AMsg - объект сообщения, в качестве которого может использоваться компонент TIdMessage.
В компоненте TIdIMAP4 для отправки используется метод AppendMsg:

function AppendMsg(const AMBName: String; AMsg: TIdMessage;
const AFlags: TIdMessageFlagsSet = []): Boolean;

Параметр AMBName указывает почтовый ящик, в который пересылается сообщение. Параметр AMsg идентичен описанному выше. А флаги AFlags могут не указываться.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=29795