Проверка мыла на валидность средствами Clarion

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Проверка мыла на валидность средствами Clarion

Сообщение Admin »

Срочно нужна функция для проверки валидности мыла.
Желательно на чистом Кларионе или накрайняк на Windows API.
Соответствие RFC желательно! :)

Заранее благодарю за ответы!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

См. 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)
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Посмотрим...
Правда почитав инфо понял что проверить мыло нереально, т.к. во первых его может и не существовать и проверка не гарантирует что его читают.
+ Многие почтовики (сервера) позволяют создавать неправильные адреса, те которые не соответствуют RFC822 ...

Кстати для смеха посмотрите этот регэксп: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
Явно MATCH на нем упадет, если и удастся его будет подогнать под Кларион :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7373
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Сообщение Игорь Столяров »

В идеале проверить мыло на все 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
);
Ответить