Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проверка правильности е-mail адреса с проверкой существования домена

Delphi , Интернет и Сети , E-mail

Проверка правильности е-mail адреса с проверкой существования домена

Автор: Dimka Maslov
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Проверка правильности е-mail адреса с проверкой существования домена

Функция проверяет как общий синтаксис написания адреса
(обязателен символ @, имя пользователя должно содержать
только разрешённые символы) а также и определяет,
существует ли домен, указанный в адресе. Функция
возвращает True, если адрес записан правильно и домен
существует, False в случае ошибки. Недостатком такой
функции является требование наличия соединения с
интернетом, а также замедление работы при указании
в адресе несуществующего домена.

Зависит от функции CheckDomain, приведённой здесь:
http://delphibase.endimus.ru?action=viewfunc&id=10258

Зависимости: SysUtils, WinSock, UBPFD.CheckDomain
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        3 июля 2002 г.
***************************************************** }

function CheckEmailAddr(Addr: string): Boolean;
var
  P: Integer;
  User, Domain: string;
  i: Integer;
begin
  Result := False;
  Addr := AnsiLowerCase(Addr);
  P := Pos('@', Addr);
  if P = 0 then
    Exit;
  User := Copy(Addr, 1, P - 1);
  Domain := Copy(Addr, P + 1, Length(Addr) - P);
  for i := 1 to Length(User) do
    if not (User[i] in ['a'..'z', '0'..'9', '.', '-', '_']) then
      Exit;
  Result := CheckDomain('www.' + Domain);
  if not Result then
    Result := CheckDomain(Domain);
end;

Перевод контента на русский язык:

Функция Delphi под названием CheckEmailAddr проверяет валидность электронной почты, проверяя ее синтаксис и существование домена. Вот подробное описание того, что код делает:

  1. Функция принимает строковый параметр Addr, который представляет собой электронную почту для проверки.
  2. Она конвертирует входящую строку в нижний регистр с помощью AnsiLowerCase.
  3. Она находит позицию символа @ в строке с помощью Pos. Если символ @ не найден, функция выходит из себя сразу.
  4. Она извлекает пользовательскую часть и доменную часть электронной почты с помощью Copy.
  5. Она проверяет, содержит ли пользовательская часть только разрешенные символы (буквы, цифры, точка, тире, подчеркивание) путем перебора каждого символа в строке. Если найден запрещенный символ, функция выходит из себя.
  6. Она вызывает функцию CheckDomain для проверки существования домена. Функция CheckDomain не предоставляется в этом кодовом фрагменте, но предполагается, что это отдельная функция, которая проверяет существование заданного домена.

Функция возвращает True, если электронная почта является валидной и домен существует, или False в противном случае.

Вот некоторые предложения по улучшению кода:

  1. Рассмотрите использование регулярных выражений для проверки синтаксиса электронной почты вместо ручного перебора каждого символа.
  2. Вместо вызова функции CheckDomain дважды с разными префиксами ('www.' и пустой строкой), рассмотрите использование одиночного вызова функции с доменной частью только или реализацию более эффективной проверки существования домена.
  3. Рассмотрите добавление обработки ошибок для случаев, когда электронная почта является null или пустой.
  4. Функция не проверяет, содержит ли доменная часть запрещенные символы. Вы можете добавить дополнительную валидацию для этого.

В целом, код seems to be a good starting point for building an email validation function in Delphi. However, it could benefit from some improvements and additions to make it more robust and efficient.

Функция проверки правильности электронной почтовой адреса с проверкой существования домена.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: E-mail ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-24 19:55:13/0.0036590099334717/0