Клиентские почтовые компоненты Indy TIdSMTP и TIdIMAP4 имеют…

Клиентские почтовые компоненты 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 могут не указываться.

Понравилась статья? Поделиться с друзьями: