Главная страница
    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.008 c
3-3250
Павел Николаевич
2002-08-12 05:13
2002.09.02
Добавление записей (ADO)


1-3446
Shrek
2002-08-20 18:28
2002.09.02
Привет! Шо это такое UNC?


1-3515
AlexBeliy
2002-08-21 15:11
2002.09.02
Создание новой формы


1-3325
Julya
2002-08-20 09:30
2002.09.02
Можно ли импортировать EXCELтаблицу в dxTreeList???


14-3617
Fiend
2002-08-08 10:22
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский