Имя: Пароль:
1C
1С v8
Маска электронной почты
,
0 first_may
 
28.01.14
21:30
Добрый вечер. Возможно вопрос покажется простым, но я немогу его решить. В обработке РедактированиеКонтактнойИнформации в форме записи адреса ЭП есть поле "Адрес эл.почты". Можно ли задать формат ввода данных для эл. почты?
1 Волшебник
 
модератор
28.01.14
21:33
*@*
2 EvgeniuXP
 
28.01.14
21:36
(1) о, как вовремя - тоже пригодится :) спасибо!
3 first_may
 
28.01.14
21:38
это не пройдет, так как
@ – ввод символов алфавита, и при этом они будут преобразованы в верхний регистр
4 Dethmont
 
29.01.14
01:48
*\@*
5 Злопчинский
 
29.01.14
01:50
а такой адрес
none@[email protected]
- маска схавает?
6 Dethmont
 
29.01.14
01:58
Хз, если звездочка это любой символ, то ДА
7 kokamoonga
 
29.01.14
02:46
(0) Задача только на первый взгляд простая.

Предлагаю ознакомиться, например, с вот этим документом http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html , чтобы понять насколько она непростая.

Боюсь что маской ввода для полностью корректной проверки тут не обойтись
8 alexei366
 
29.01.14
02:48
(7) Яб даже сказал что нет особого смысла делать маску в поле 1С, там всеравно поубогому реализация маски сделана
9 kokamoonga
 
29.01.14
02:54
(8) это следующий логический шаг:) проверка при изменении кажется логичным решением.

Я бы поискал для простоты какой-нибудь онлайн-сервис с публичным API, который проверят и валидность и существование введенного адреса, и не морочился бы с масками regexp'ами и так далее.
10 Лодырь
 
29.01.14
06:32
(9) Имхо RegExp проще чем некий онлайн сервис с публичным апи )
11 first_may
 
29.01.14
16:07
(10) а как им пользоваться?
12 first_may
 
29.01.14
16:09
Нашел статью
http://office.microsoft.com/ru-ru/access-help/HA010096452.aspx

в которой написано, использование масок ввода для адресов электронной почты. Но я не понимаю как указанный блок текста использовать в 1С.
13 Jaap Vduul
 
29.01.14
16:16
(12)
Читать-то умеем?
...
Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе
...
14 first_may
 
29.01.14
16:20
(13) остается проверять при окончании редактирвоания, а именно на наличие символов "@" и ".", так?
15 Jaap Vduul
 
29.01.14
16:22
Запросом можно проверять, текст условия возьми из (12), только * замени на %
16 ДенисЧ
 
29.01.14
16:25
(14) а точка зачем? У меня с компа почта вполне уйдёт на адрес denis@kontora ....
17 Aprobator
 
29.01.14
16:27
(0) нефига не понял, в чем проблема? Пробежаться по адресу и проверить точно там только одна собачка?
18 Aprobator
 
29.01.14
16:29
впрочем подобная проверка все равно не гарантирует, что введенный почтовый адрес вообще существует. Не с той стороны копаешь товарищ.
19 first_may
 
29.01.14
16:32
Все понял, спасибо всем.
20 Torquader
 
29.01.14
19:50
Вообще-то, то, что после "собаки" - это dns-имя какого-то сервера, на котором крутится почтовая программа, получающая эти письма (или переадресуется порт).
Имя пользователя будет любой длины, но должно состоять из допустимых символов.
21 МишельЛагранж
 
29.01.14
20:35
(18)впрочем подобная проверка все равно не гарантирует, что введенный почтовый адрес вообще существует.
- угум, еще в 1С и скан существования ящика с сервером прикрутить...
22 Aprobator
 
29.01.14
21:00
(21) прикрути, если делать нефиг.
23 SiAl-chel
 
29.01.14
21:48
(21),(22) А что, если при валидации e-mail, отправлять на него письмо с флагом "УведомитьОДоставке"? Ведь в этом случае ждать владельца почтового ящика не надо, почтовый сервер сам ответит, если почтовый ящик валидный. А если - нет, то ответит SMTP-сервер.
24 Jaap Vduul
 
29.01.14
22:39
(23)
Это не даёт гарантии.
На почтовом сервере может быть отключена поддержка DSN.
Также многие почтовые сервера принимают почту на любые адреса в своём домене (catch-all), в т.ч. и на несуществующие.
25 oleg_km
 
29.01.14
23:29
(24) По стндарту должны отвечать 550. Вот релеи запросто могут сачала себе принять всю почту, а потом при пересылке получить 550 и уже тебе придет отдельное письмо что нет такого ящика
26 Torquader
 
30.01.14
15:21
Не - вопрос в маске ввода - при вводе сразу никто и ничего не проверяет. Максимум, можно пользователю показать, что, возможно, адрес введён неправильно, чтобы мог исправить.
Проверять и подтверждать почту нужно только тогда, когда на неё будет что-то отправляться.
27 МишельЛагранж
 
30.01.14
19:59
(22) это ты посоветовал )))
28 oleg_km
 
30.01.14
22:41
В RFC не помню каком исчерпывающе указаны требования к адресу.
29 Torquader
 
31.01.14
11:41
(28) К сожалению, они уже не совсем верны, так как появились кириллические домены.
30 oleg_km
 
31.01.14
12:10
(29) Ну зачит в них внесены изменения. Вообще-то я тоже не стал вводить строгую проверку на RFC, т.к. допускаю, что есть почтовики, где можно завести имя не по правилам и есть почтовики, которые эти правила проверяют нестрого.
31 Torquader
 
31.01.14
12:17
(30) Там не изменения, а выходит новый RFC, который дополняет старый в части каких-то отличий.
Другое дело, что программирование строгой проверки по RFC требует время, а "умные" пользователи, например, в адресе электронной почты иногда номера телефонов хранят (чтобы им икалось всю жизнь за это).
32 МишельЛагранж
 
31.01.14
22:15
(31) принимаю в дар адреса почты с номером счета в швейцарском банке.
33 Torquader
 
01.02.14
20:18
(32) Номер счёта да ещё и в адресе электронной почты - очень "специфическая" ситуация.
Хотя, если какой-то пользователь согласен на логин с номером счёта, то - вперёд и с песней.
34 Aprobator
 
05.02.14
10:06
(27) ничего я не советовал, я сказал лишь, что проблема немного глубже чем наличие только одной собачки в адресе.