Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

Как проверить, существует ли определенный e-mail или нет?   Найти похожие ветки 

 
Belg   (2002-06-18 07:31) [0]

Заранее спасибо!


 
MARcoDEN   (2002-06-18 07:32) [1]

Вот код функции:

function IsValidEmail(const Value: string): boolean;
function CheckAllowed(const s: string): boolean;
var
i: integer;
begin
Result:= false;
for i:= 1 to Length(s) do
begin
{ недопустимый символ в s - значит недопустимый адрес }
if not (s[i] in ["a".."z", "A".."Z", "0".."9", "_", "-", "."]) then
Exit;
end;
Result:= true;
end;
var
i: integer;
namePart, serverPart: string;
begin // начало выполнения IsValidEmail
Result:= false;
i:= Pos("@", Value);
if i = 0 then
Exit;
namePart:= Copy(Value, 1, i - 1);
serverPart:= Copy(Value, i + 1, Length(Value));
// @ не указано имя имя или сервер не указаны; минимально для сервера. "a.com"
if (Length(namePart) = 0) or ((Length(serverPart) < 5)) then
Exit;
i:= Pos(".", serverPart);
// должно иметь точку и как минимум три знака от конца
if (i = 0) or (i > (Length(serverPart) - 2)) then
Exit;
Result:= CheckAllowed(namePart) and CheckAllowed(serverPart);
end;


 
Malder   (2002-06-18 13:27) [2]

Хех. Во первых, имелось в виду немного не то. Тут идет проверка на допустимые символы в адресе. А ведь даже если все верно - такого адреса может не существовать. Проверка на существование e-mail вообще невозможна.

Во вторых, здесь проверка на правильность e-mail также осуществлена неверно. Хотя бы то, что в адрес e-mail вовсе не обязательно должен входить знак "@".


 
Ocean   (2002-06-21 11:31) [3]

Вообще-то не знаю, но пришла мысль такая. Попробовать залогиниться по SMTP на почтовый сервер с этим именем, т.е. тем, что идет до "@". Понимаю, что есть еще алиасы, не подскажу сразу, как точно определить название сервера, но - тема для размышления.


 
Anatoly Podgoretsky   (2002-06-21 11:42) [4]

Послать письмо, вреоятность определения близка к 100%, остальные методы вероятность стремится к нулю.


 
VDen   (2002-06-21 14:08) [5]

Проверить можно лишь существование соответствующего сервера.
Так, fgh@kjl.ytu окажется адресом неправильным.
Но вот для адреса no_such_account@mail.ru проверка без контакта с адресатом скорее всего невозможна.


 
S@shka   (2002-06-25 17:25) [6]

Вопрос весьма и весьма интересен.
один из вариантов это как уже упоминули залогиниться
однако некоторые сервера могут этого и не разрешать.
Вариант 2. создаешь себе ящик аля@newmail.ru
и от его имени шлешь мыло естественно если мыло ушло в никуда вернется сообщение MailDelivery failed и по ним и можно смотреть что реально а что нет.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
3-3309
michael_b
2002-08-13 11:07
2002.09.02
Как определить установлен ли InterBase


7-3644
programmerts.narod.ru
2002-06-17 19:10
2002.09.02
Кто знает как закрыть все приложения Windows и вернуться к исходн


4-3659
ricks
2002-06-18 00:34
2002.09.02
Строка через Message


8-3534
Oleg Shashin
2002-04-24 04:02
2002.09.02
Посоветуйте компонент для конверсии GIF,JPG в BMP


3-3243
Oleon
2002-08-08 15:48
2002.09.02
Здарасьте. Проблема вдруг возникла с шрифтом.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский