Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Как проверить, существует ли определенный 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
4-3679
zje
2002-07-02 17:26
2002.09.02
Как показать hint у приложения в панели задач?


14-3571
Grrey
2002-08-05 10:56
2002.09.02
У кого-нибудь есть таблицы перехода из Кои8 в Windows?


1-3358
andrey_pst
2002-08-22 07:53
2002.09.02
Маска файлов в OpenDialog.


1-3477
Yuri Btr
2002-08-20 17:57
2002.09.02
Не дать нажать SpeedButton


6-3556
S@shka
2002-06-21 19:01
2002.09.02
Интересный Вопрос