По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Приходишь ты такой в офис, уже налил чашечку кофе, поболтал у кулера, садишься за рабочее место и начинаешь писать: “уважаемые коллеги, бла бла бла”, и тут, после того, как все коллеги уважены в твоем обращении, ты вдруг задумываешься - а как это работает? Почему моя почта доходит до уважаемых коллег? Очень просто - сейчас расскажем как. Для начала разделим работу электронной почты на две части - отправка и получение. Отправка Начнём с отправки. Как только ты дописал своё письмо и нажал на кнопку “Отправить”, твой почтовый клиент (Outlook, Thunderbird, Gmail или Yandex Mail) отправит его на сервер по протоколу SMTP - Simple Mail Transfer Protocol, что переводится как простой протокол передачи почты. И тут начинаются первые проблемы. Дело в том, что этот протокол действительно “простой”. Он увидел свет аж в 1982 году, а как ты помнишь, тогда на безопасность было вообще пофиг, поэтому все письма отправлялись в открытом виде, пользователи никак не аутентифицировались, а хакеры успешно применяли его для рассылки спама. Поэтому, в 2008 году ему решили добавить фич в виде поддержки шифрования, авторизации, 8-битных наборов символов и ещё много всего полезного и назвали это все ESMTP, где Е означает extended, то есть расширенный. Но даже после этого протокол называют просто - SMTP. Короче, SMTP работает по клиент серверной модели. Он передает на почтовый сервер команды и получает от него ответы с результатами их обработки. Ответы от сервера - это кодовые значения, которые делятся на 5 типов. Те у которых код 200, означают что всё ок, а те что с кодом 500 - не ок. Ничего не напоминает? Да, очень похоже на HTTP При стандартной отправке письма происходит следующее: Твой клиент подключается к серверу Сервер выдаёт ему список доступных команд Твой клиент отправляет команды, которые содержат адрес отправителя, получателя и собственно само сообщение Сервер помещает твоё сообщение в очередь на отправку и если всё ок - отправляет его. А в случае если ты сын маминой подруги и позаботился о безопасности, клиент также пройдёт процедуру аутентификации и шифрования, прежде чем отправить письмо. Кстати, ты можешь указать в адресе отправителя что угодно и тебе за это ничего не будет. Дело в том, что в SMTP нет встроенных проверок подлинности отправителя, для этого используются внешние механизмы. Самый простой - это сопоставление домена и IP-адреса отправителя через DNS-запрос. Так что если ты решишь прикинуться Илоном Маском и написать кому нибудь письмо с просьбой отсыпать немножко биткоинов, то скорее всего оно попадёт в спам. SMTP используется не только для отправки писем от клиента к серверу, но и для передачи твоего письма между почтовыми серверами. Допустим, если ты напишешь Илону, то сначала твоё письмо попадёт на твой локальный сервер, который скорее всего не находится в домене spacex.com, поэтому твой сервер будет по тому же DNS искать в Интернетах почтовый сервер, отвечающий за маршрутизацию электронной почты домена Space X. Это кстати называется MX-запись. Когда эта информация будет найдена, то сервер пульнёт туда твоё письмо по протоколу SMTP. Для работы SMTP был зарезервирован TCP порт 25, но есть ещё 2 порта - это 465 и 587, оба они предназначены для связи клиента с сервером по защищенным механизмам, а 25 предназначался только для связи между собой почтовых серверов. Отлично, теперь твоё письмо, пройдя все системы антиспама и проверки лежит на почтовом сервере получателя и дожидается когда же его прочитают, а мы переходим ко второму действию - получение. Получение Тут возможны 2 варианта. Либо твой клиент будет получать почту по протоколу IMAP - Internet Message Access Protocol, либо по протоколу с не очень приличным названием POP3 - Post Office Protocol 3. Для POP3 почтовый сервак выступает в роли временного хранилища писем. Клиент, настроенный на работу с POP3, будет периодически обращаться на сервак и спрашивать: - “Есть чё по письмам?”, Сервер ответит ему: - “Ага есть”, тогда клиент ответит: - “Зашибись, а ну гони всё сюда и удали все копии, чтоб письма были только у меня” Именно так, в случае POP3 клиент будет хранить все письма только у себя, но в этом есть плюс - даже если у тебя пропадёт Интернет, ты всё равно сможешь получить доступ к своим письмам. Надо сказать, что с помощью самого клиента (но не POP3), можно попросить сервер всё таки хранить копии писем. А вот тебе ещё несколько неприятных фактов про POP3: Он работает только на одном клиенте, то есть если ты открыл клиент с POP3 на компе, то с мобильного телефона уже не сможешь посмотреть свою почту. А ещё нельзя разнести письма по папкам, настроить фильтры, пометить важность и т.д. А? Ну как тебе, удобно? Ладно, давай посмотрим какие ещё есть варианты. Ты можешь настроить свой клиент на работу с протоколом IMAP, тогда всем движем будет управлять почтовый сервак. В этом случае, твой почтовый клиент будет нужен только как интерфейс для работы с почтой. Зато ты сможешь получить доступ к своему почтовому ящику откуда угодно и с чего угодно. Сидишь за рабочим местом - читаешь почту с компа, отошёл в уборную - с мобилки, можно использовать веб-клиент и заходить через Интернет. Ах да, приятным бонусом будет то, что с помощью IMAP ты можешь настроить под себя папки, помечать письма как важные, запрашивать статус о прочтении письма, выполнять сложные поиски по письмам и многое другое. Но в этом есть и недостатки. Из-за того, что с IMAP всё слишком сложно, обработка писем серваком происходит гораздо дольше и “вообще то место на нём не резиновое”. Если постоянно хранить все письма без ротации, то рано или поздно почтовый ящик забьётся.
img
Сталкивались ли вы задачей одновременной типовой настройки телефонный аппаратов? Например, настроить 50 штук IP – телефонов Yealink. Эта задача будет достаточно рутинной и затратной по времени. В FreePBX создан модуль End Point Manager, который позволяет создать шаблон настроек для определенных групп устройств и затем перенести его на телефонные аппараты. О нем и поговорим. /p> Пару слов про модуль End Point Manager Как уже сказано выше, модуль EPM позволяет производить автоматическую настройку различных единиц оборудования, от конечных телефонных аппаратов до шлюзов. Условно говоря, настройка модуля делится на следующие сегменты: Global Settings - глобальные настройки модуля, такие как IP – адрес Asterisk и прочие Extension Mapping - раздел, в котором сопоставляется шаблон и MAC – адрес устройства Brands - в разделе можно посмотреть марки оборудования, которые были сконфигурированы с помощью EPM Модуль является платным и стоит 75$ на 25 лет. В бесплатной версии модуля, доступна только настройка телефонов марки Sangoma. Полный перечень приведен в таблице ниже. Add Brand - добавьте необходимые брэнды оборудования, для которого вы бы хотели создать шаблон Image Management - здесь можно загрузить картинку в формате GIF, JPEG, или PNG и размером не более 20 мегабайт, которая будет использоваться на оконечных телефонов, например в роли фонового изображения. Данный функционал работает только на устройствах с поддержкой фонового изображения Basefile Edit - данный раздел позволяет менять различные значения, которые нельзя изменить через стандартные настройки телефона, например через его GUI. Представляет из себя XML – файл. Рекомендуем настраивать данный раздел только в том случае, если вы точно знаете что делаете. Custom Extensions - раздел аналогичен настройке в модуле Custom Extension Firmware Management - раздел служит для обновления прошивки телефонов. Network Scan - сетевая утилита, которая позволяет сканировать указанную сеть на предмет наличия в ней поддерживаемых устройств и уточнения их MAC - адресов Без приобретения лицензии на модуль вы сможете работать со следующими устройствами: Производитель Модель Поддержка фонового изображения Sangoma s300 Нет Sangoma s500 Да Sangoma s700 Да Sangoma Vega 50-4FXS - Sangoma Vega 50-8FXS - Sangoma Vega 3000-24FXS - Sangoma Vega 5000-24FXS - Sangoma Vega 5000-50FXS - Поддерживаемые без лицензии устройства В случае оплаты модуля, для работы будут доступны Aastra, Algo, Audio Codes, Cisco, Cortelco, CyberData, Digium, Grandstream, Mitel, Mocet, Obihai, Panasonic, Phoenix Audio, Polycom, Snom, Uniden, VTech, Xorcom и всеми любимый Yealink. Настройка Global Settings В настройках EPM переходим в раздел Global Settings: Internal IP Address - укажите IP – адрес вашего Asterisk. В нашем случае это 192.168.0.77 External IP Address - если какие-то из ваших телефонов будут подключаться к АТС из внешней сети, то в данном поле укажите внешний IP – адрес или FQDN (Fully Qualified Domain Name) Ports - в разделе будут указаны порты для WEB – доступа, порт для HTTP провижининга (автоматической настройки телефонов) и RESTful приложений Phone Admin Password - все управляемые телефоны имеют пароль для администратора. В данном поле вы можете указать его для всех устройств Phone User Password - некоторые модели телефонов, например Cisco, имеют систему авторизации для администратора через обычного пользователя. Здесь нужно указать его пароль ReSync Time - через указанное время телефоны будут обращаться к серверу на предмет изменения в их конфигурационных файлах. По умолчанию, время равно 86400 секунд, что есть 1440 минут, что в свою очередь ровняется 24 часа :) XML-API (RestAPI) Default Login - включение/выключение данной опции позволяет телефону обращаться к различным приложениям через RestAPI Extension Mapping IP Addresses - отображать ли IP – адрес устройства на этапе сопоставления телефона и внутреннего номера Extension Mapping Phone Status - отображать ли время пинга до устройства. Оба параметра замедляют работу. По окончанию настроек нажмите Save Global Настройка шаблона настроек Переходим к настройкам. Сделаем шаблон на примере производителя Sangoma. Для этого, в настройках модуля, в блоке Brands, выберем Sangoma. Для добавления нового шаблона нажимаем New Template. Производим настройки в первой вкладке, которая называется General: Template Name - даем имя для нашего шаблона. Например, New_template Default Template - будет ли данный шаблон шаблоном по умолчанию для телефонов. Выставляем Default Destination Address - в данном поле необходимо указать IP – адрес или доменное имя для нашей IP – АТС Asterisk. При нажатии на кнопки Internal или External, при сохранении, в поле будет автоматически подставлено значение внутреннего или внешнего IP – адреса АТС соответственно. Это удобно в том случае, если мы делаем разные шаблона для внутренних телефонов и для внешних. Provision Server Address - сервер, к которому телефон будет обращаться за конфигурацией. По умолчанию это наш Asterisk Provision Server Protocol - протокол, который будет использовать IP – телефон чтобы получить файл конфигурации. Оставьте в данном поле TFTP Переходим во вкладку Regional Time Zone - временная зона. Поле прибавляет, или удаляет определенное количество часов к GMT (среднее время по Гринвичу). Например, в Москве GMT +03:00 и мы выбираем +03.00 Primary Time Server - главный сервер синхронизации времени по протоколу NTP. Вы можете посмотреть список серверов в интернете Daylight Savings -опция подсказывает телефону, использовать ли настройки DST (Daylight Saving Time) – то есть сезонное время Country Tones - опция настройки гудка. В разных странах они различаются, выберите подходящий Web GUI Language - язык графического интерфейса администрирования IP - телефона LCD Display Language - язык на дисплее телефона Date Format - формат даты. Нам привычно ДД-ММ-ГГ Time Format - формат времени. Мы выбрали 24 часовой формат Двигаемся дальше и переходим во вкладку Options. Разберем здесь самые основные опции: Background Image - выберите фоновое изображение, которое ранее, было залито с помощью пункта меню Image Management Line Label - информация, которая будет отображаться о пользователе телефона на главном дисплее. Может быть следующих видов: Name - имя пользователя. Например, «Иван Петров» Extension - показывать только номер абонента. Например, «101» Name-Extension - показывать и имя и номер. Например, «Иван Петров 101» Multicast Enable - поддержка Multicast пейджинга Функционал Multicast Paging появился в 13 версии FreePBX. Если коротко, то теперь телефон может отправлять на заранее сконфигурированный широковещательный адрес пейджинг запросы. Более подробно вы можете почитать в статье про новинки FreePBX 13 Multicast Address - мультикаст адрес, о котором мы рассказали выше Dial Patterns - шаблон набора номеров для IP - телефона Ring Tone - выбрать номер звукового сопровождения для звонка (рингтон) Screen Saver - что показывать на дисплее телефона по таймауту бездействия Screen Saver Timeout Call Waiting Signal - хотите ли вы услышать звуковой сигнал, при условии того, что вы уже разговариваете с одним из абонентов и вам поступает второй звонок BLF Alert - тип индикатора BLF. Это может быть визуальное мигание, аудио сопровождение или оба сразу По окончанию настроек не забываем нажимать Save Template Соответствие телефона и шаблона После того, как мы произвели настройку шаблона его необходимо проассоциировать с телефонным аппаратом. Мы будем делать это с помощью MAC – адреса устройства. Переходим в раздел Extension Mapping и нажимаем Add Extension В столбце слева выбираем необходимый номер По середине, выбираем производителя и вводим MAC – адрес телефона В левом столбце выбираем шаблон и модель телефона Теперь, чтобы доставить на телефоны адрес TFTP сервера (адреса нашего Asterisk в данном случае), в настройках DHCP сервера необходимо настроить параметр option 150 с IP – адресом TFTP. Телефон обратиться на сервер с просьбой предоставить файл конфигурации для устройства с его MAC – адресом, которое мы создали на этапе ранее.
img
Чтобы начать наше знакомство с регулярными выражениями, давайте взглянем на них поближе. Регулярные выражения являются шаблоном, который выполняет сравнение последовательности текста слева направо. Выражние "регулярные выражения" используют не очень часто, чаще всего применяют "regex" либо "regexp". В общем и целом, регулярные выражения предназначены для изменения текста в строке, а также они выполняют проверку некоторых форм, и т.д. К примеру, у вас в разработке ведется некое приложение, и вам понадобилось выявить какие-то правила, по которым юзер уже будет выбирать собственное наименование. Важным условием будет ограничение в количестве символов и написании самого имени, которое должно состоять из букв, цифр, дефиса и нижнего подчеркивания. Для того, чтобы решить данную задачу, можно воспользоваться представленным ниже решением: john_doe; jo-hn_doe; john12_as. Но если наименование юзера будет состоять из прописной буквы, например Jo, то оно никак не будет соответствовать данному условию. Основные совпадения Регулярные выражения являются шаблоном, который состоит из неких символов, с помощью которого разработчики выполняют поиск в тексте. К примеру, условие "The" будет означать букву "t", за которой идет "h", затем - "e". "the" => The fat cat sat onthemat. Метасимволы Строительными блоками регулярных выражений являются метасимволы, которые являются независимыми, и обычно используются любыми способами. Некоторое количество из них могут иметь особое предназначение, поэтому они выделяются квадратными скобками. Ниже вы можете ознакомиться с метасимволами. Метасимволы Описание . Любой единичный символ, исключая новую строку. [ ] Поиск набора символов, помещенных в скобки. [^ ] Отрицательный класс символов. Соответствует любому символу, не заключенному в квадратные скобки. * 0 или больше повторений предшествующего символа. + 1 или больше повторений предшествующего символа. ? Делает предшествующий символ опциональным. {n,m} Возвращает как минимум "n", но не более "m" повторений предшествующего символа. (xyz) Находит группу символа в строго заданном порядке. | Разделяет допустимые варианты. Исключает следующий символ. Позволяет искать служебные символы [ ] ( ) { } . * + ? ^ $ | ^ Находит начало введенной строки. $ Находит конец введенной строки. Сокращения для обозначения символов В регулярных выражениях также существуют некоторые сокращения для символов, что в несколько раз повышает комфортность при работе. Ниже приведен список сокращений: Сокращение Описание . Любой символ, кроме новой строки w Соответствует буквенно-цифровым символам: [a-zA-Z0-9_] W Соответствует не буквенно-цифровым символам: [^w] d Соответствует цифрам: [0-9] D Соответствует нецифровым знакам: [^d] s Соответствует знаку пробела: [ f p{Z}] S Соответствует символам без пробела: [^s] Look Around Позиционная проверка Look Around представляет собой набор некоторых групп, которые предназначены для поиска в тексте, но сами в него не входят. Позиционная проверка используется в том случае, если в определенном условии существует шаблон, который либо предшествует, либо идет следующим. Символ Описание ?= Положительный Lookahead ?! Отрицательный Lookahead ?<= Положительный Lookbehind ? Отрицательный Lookbehind Флаги Флаги также часто называют модификаторами, так как они могут изменять выходные данные регулярного выражения. Флаги ниже являются неотъемлемой частью и могут использоваться в любом порядке или комбинации регулярных выражений. Флаг Описание i Нечувствительность к регистру: делает выражение нечувствительным к регистру. g Глобальный поиск: поиск шаблона во всей строке ввода. m Многострочность: анкер метасимвола работает в каждой строке. Жадные vs. ленивые выражения По умолчанию регулярные выражения выполняются благодаря "жадным" квантификаторам, им соответствует максимально длинная строка из всех возможных. "/(.*at)/" => The fat cat sat on the mat. Чтобы получить "ленивое" выражение, нужно использовать знак "?". Так будет получена максимально короткая строка. "/(.*?at)/" => The fat cat sat on the mat.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59