Подскажите, как работать в Indy 10 с SASL. То есть добавить SASL Entry в SASLMechanisms и заставить использовать SASL при аутетнтификации? Кто-то знает где можно нарыть примеры?
Еще интересует работа TIdSMTP с SSL и TLS.
Здравствуйте, Yourys, Вы писали:
Y>Подскажите, как работать в Indy 10 с SASL. То есть добавить SASL Entry в SASLMechanisms и заставить использовать SASL при аутетнтификации? Кто-то знает где можно нарыть примеры?
Y>Еще интересует работа TIdSMTP с SSL и TLS.
Примеры и справку можно нарыть только на сайте самих Indy. В 10 версии есть целая закладка с компонентами SASL и компонент TIdSASL. Посмотри в их сторону.
Если вещь не годна для одной цели, ее можно употребить для другой. // Лао цзы
Здравствуйте, SeLarin, Вы писали:
SL>Здравствуйте, Yourys, Вы писали:
Y>>Подскажите, как работать в Indy 10 с SASL. То есть добавить SASL Entry в SASLMechanisms и заставить использовать SASL при аутетнтификации? Кто-то знает где можно нарыть примеры?
Y>>Еще интересует работа TIdSMTP с SSL и TLS.
SL>Примеры и справку можно нарыть только на сайте самих Indy. В 10 версии есть целая закладка с компонентами SASL и компонент TIdSASL. Посмотри в их сторону.
Да посмотрел, конечно. Только примеров работы с SASL в докментации к INDY нет.
У компонента TIdSMTP есть свойство SASLMechanisms:TIdSASLEntryList, туда по идее можно добавлять компоненты из закладки SASL. В дизайн-тайме все работает, а вот как добавлять в этот лист элементы — ума не приложу.
вот код, который теоретически должен работать, а практически выдает Access Violation.
with IdSMTP1.SASLMechanisms.Add do
SASL.Assign(IdSASLCRAMMD51);
Здравствуйте, Yourys, Вы писали:
Y>Да посмотрел, конечно. Только примеров работы с SASL в докментации к INDY нет.
Y>У компонента TIdSMTP есть свойство SASLMechanisms:TIdSASLEntryList, туда по идее можно добавлять компоненты из закладки SASL. В дизайн-тайме все работает, а вот как добавлять в этот лист элементы — ума не приложу.
Y>вот код, который теоретически должен работать, а практически выдает Access Violation.
Y>Y> with IdSMTP1.SASLMechanisms.Add do
Y> SASL.Assign(IdSASLCRAMMD51);
Y>
Начнём с того, что свойство SASLMechanisms содержит
SASL authentication mechanisms supported on the SMTP server connection... SASLMechanisms is updated from the feature listing received in the initial server greeting when UseEHLO is True.
Механизмы идентификации SASL, поддерживаемые SMTP сервером... SASLMechanisms обновляется из списка возможностей полученных из начального приветсвия сервера, когда UseEHLO равно True.
Т.е. в это свойство добавлять ничего не нужно. Его нужно только читать и в зависимости от его содержимого предпринимать дальнейшие действия.
Если вещь не годна для одной цели, ее можно употребить для другой. // Лао цзы
Здравствуйте, SeLarin, Вы писали:
SL>Здравствуйте, Yourys, Вы писали:
Y>>Да посмотрел, конечно. Только примеров работы с SASL в докментации к INDY нет.
Y>>У компонента TIdSMTP есть свойство SASLMechanisms:TIdSASLEntryList, туда по идее можно добавлять компоненты из закладки SASL. В дизайн-тайме все работает, а вот как добавлять в этот лист элементы — ума не приложу.
Y>>вот код, который теоретически должен работать, а практически выдает Access Violation.
Y>>Y>> with IdSMTP1.SASLMechanisms.Add do
Y>> SASL.Assign(IdSASLCRAMMD51);
Y>>
SL>Начнём с того, что свойство SASLMechanisms содержит
SL>SL>SASL authentication mechanisms supported on the SMTP server connection... SASLMechanisms is updated from the feature listing received in the initial server greeting when UseEHLO is True.
SL>Механизмы идентификации SASL, поддерживаемые SMTP сервером... SASLMechanisms обновляется из списка возможностей полученных из начального приветсвия сервера, когда UseEHLO равно True.
SL>Т.е. в это свойство добавлять ничего не нужно. Его нужно только читать и в зависимости от его содержимого предпринимать дальнейшие действия.
не совсем так.
Вот цитата с ньюс-рассылки INDY:
The SASLMechanisms property is a collection. Like all collections, it has
an Add() method. In this case, Add() returns a TIdSASLListEntry object.
TIdSASLListEntry has a SASL property that you assign to any TIdSASL-derived
component (TIdSASLCRAMMD5, TIdSASLLogin, etc). You can then configure the
TIdSASL objects as desired. Also make sure that the TIdSMTP's AuthType
property is set to atSASL, and the UseEhlo property is set to True.
То есть можно добавлять элементы в список для последующего соединения по одному из этих протоколов.
Здравствуйте, Yourys, Вы писали:
Y>не совсем так.
Y>Вот цитата с ньюс-рассылки INDY:
Y>The SASLMechanisms property is a collection. Like all collections, it has
Y>an Add() method. In this case, Add() returns a TIdSASLListEntry object.
Y>TIdSASLListEntry has a SASL property that you assign to any TIdSASL-derived
Y>component (TIdSASLCRAMMD5, TIdSASLLogin, etc). You can then configure the
Y>TIdSASL objects as desired. Also make sure that the TIdSMTP's AuthType
Y>property is set to atSASL, and the UseEhlo property is set to True.
Y>То есть можно добавлять элементы в список для последующего соединения по одному из этих протоколов.
Тогда получается, что документация у них расходится со списком рассылки....

Если вещь не годна для одной цели, ее можно употребить для другой. // Лао цзы