Страница 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 
);