Страница 1 из 1
Проверка мыла на валидность средствами Clarion
Добавлено: 13 Декабрь 2005, 14:40
Admin
Срочно нужна функция для проверки валидности мыла.
Желательно на чистом Кларионе или накрайняк на Windows API.
Соответствие RFC желательно!
Заранее благодарю за ответы!
Добавлено: 13 Декабрь 2005, 15:50
Игорь Столяров
См. Help ...
!Regular expression for testing an email address as valid.
!1. The name portion can contain the characters: A-Z 0-9 -._
!2. Then must have an @
!3. Then repeating groups containing: A-Z 0-9 -._
!4. A period and 2, 3, 4 letters
RV = MATCH(UPPER(CLIP(eMailAddr)),|
'^[-A-Z0-9._]+@{{[-A-Z0-9._]+.}+[A-Z][A-Z][A-Z]?[A-Z]?$', Match:Regular)
Добавлено: 13 Декабрь 2005, 16:13
Admin
Посмотрим...
Правда почитав инфо понял что проверить мыло нереально, т.к. во первых его может и не существовать и проверка не гарантирует что его читают.
+ Многие почтовики (сервера) позволяют создавать неправильные адреса, те которые не соответствуют RFC822 ...
Кстати для смеха посмотрите этот регэксп:
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
Явно MATCH на нем упадет, если и удастся его будет подогнать под Кларион

Добавлено: 13 Декабрь 2005, 16:27
Игорь Столяров
В идеале проверить мыло на все 100% наверно нельзя даже в теории ... Если немного не в тему вопроса, то я пользуюсь функцией из Catalyst Tools - в общем-то вполне достаточно для работы:
INT SmtpVerifyAddress(
HCLIENT hClient, // handle to the client session
LPCTSTR lpszAddress, // pointer to the address to verify
LPTSTR lpszBuffer, // pointer to buffer for the verified address
INT nMaxLength // maximum length of the buffer
);