Проверка адреса электронной почты

БСП (стандартные подсистемы) / Версии, имена файлов и почта

//Проверка по требованиям стандартов RFC: адрес с зоной домена верен
Верный = ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(
    "buh@romashka.ru");
//Верный = Да
Сообщить("Верный = " + Верный);

//Нет знака @ - не адрес
БезСобаки = ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(
    "buh.romashka.ru");
//БезСобаки = Нет
Сообщить("БезСобаки = " + БезСобаки);

//Домен без зоны допустим только для локальных адресов -
//их разрешает второй параметр
Локальный = ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(
    "buh@romashka");
//Локальный = Нет
Сообщить("Локальный = " + Локальный);

Разрешён = ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(
    "buh@romashka", Истина);
//Разрешён = Да
Сообщить("Разрешён = " + Разрешён);

//Без БСП - грубая проверка: ровно одна @ и точка в домене.
//До требований RFC она не дотягивает
Адрес = "buh@romashka.ru";
Части = СтрРазделить(Адрес, "@");
Похож = Части.Количество() = 2 И СтрДлина(Части[0]) > 0 И СтрНайти(Части[1],
                          ".") > 1;
//Похож = Да
Сообщить("Похож = " + Похож);