консольные почтовые клиенты windows

Консольный почтовый клиент

Консольный FTP клиент
Здравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл.

Консольный почтовый клиент
Здравствуйте. Какой консольный почтовый клиент удовлетворит следующие требования: 1). Авторизация.

А VBScript не подойдет?
Его можно вызывать из консоли. Встроен в винду.

Пуск => Все программы => Автозагрузка.
Скинуть скрипт туда.

А вообще, у вас вопрос не по теме.

Снова форум чудит, выставляет ненужные тэги.

мне это живо напомнило:

«Остап все время произносил речи, спичи и тосты. Пили за народное просвещение и ирригацию Узбекистана. После этого гости стали расходиться.»

volodin661, Вы, должно быть, просто в зеркало смотритесь.

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Почтовый клиент
Как сделать почтовый клиент для отправки писем на E-mail используя сокеты, а то у меня что-то через.

Почтовый клиент
Мне нужен был почтовый клиент и я нашёл его в интернете. Как его оживить (не получает доступ к.

Почтовый клиент
Всем привет. Надо сделать курсач, тема: почтовый клиент. Не знаю с чего начать. Посоветуйте с.

почтовый клиент
пишу почтовый клиент. для почты с google нужно использовать ssl шифрование как им правильно.

>10 лет использую сейчас вин7. Проблема небольшая с почтовым клиентом. Уже.

Источник

Десятка быстрых. Выбираем консольный софт для повседневных нужд

консольные почтовые клиенты windows. racing fastest h. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-racing fastest h. картинка консольные почтовые клиенты windows. картинка racing fastest h. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл.

Содержание статьи

Если ты перешел на Linux совсем недавно или же работаешь исключительно в графической среде и графических приложениях, то наверняка задаешься вопросом: а зачем столько людей используют консольный софт? Я говорю не о терминале и его мощной командной строке, а о консольных приложениях с псевдографическим интерфейсом, в которых вся визуальная составляющая — это символы (яркий пример из мира Windows — FAR и Norton Commander).

Скорее всего, ты думаешь, что пользователи таких приложений — старперы, которые уже не могут переучиться и привыкнуть к новому. Отчасти это правда, однако есть и другие причины: скорость, удобство и «чистота интерфейса». Консольный софт просто невероятно быстр, им можно управлять не используя мышь, а главное — создать захламленный псевдографический интерфейс просто невозможно, он всегда будет содержать только необходимую информацию, без лишних обвесок и декораций.

Далее я расскажу о десятке приложений для решения повседневных задач: управления файлами, чтения почты, прослушивания музыки и прочего. Сразу скажу, что в списке есть несколько графических приложений (просмотрщик изображений и PDF-ридер), но созданы они с оглядкой на консольный софт — минималистичный интерфейс и полное управление с клавиатуры. Так что все будет честно.

Файлы: Midnight Commander

Midnight Commander (или просто mc) — одно из самых известных консольных приложений. Это клон бессмертного Norton Commander, созданный специально для UNIX. Mc можно увидеть на экране ноутбука каждого второго админа, вот только почему-то все они используют его как есть, выжигая себе глаза синим фоном.

Также рекомендую изменить две другие опции для отключения бесполезных строки меню сверху и строки кнопок снизу:

Ну а те, кто не любит стандартный редактор mc и предпочитает юзать другой, должны добавить такую опцию:

Важная особенность mc — умение показывать и запускать многие типы файлов с помощью внешних приложений. Например, если ты выберешь файл с изображением и нажмешь F3, то увидишь на экране информацию об изображении: формат, размер, глубина цвета и другие данные. Эту информацию mc получает от утилиты identify из пакета ImageMagic. Нажатие Enter запустит просмотрщик изображений (по умолчанию с помощью gqview, see или zgv, какой найдется в системе).

Все привязки типов файлов к приложениям описаны в файле

консольные почтовые клиенты windows. mc. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-mc. картинка консольные почтовые клиенты windows. картинка mc. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл. Midnight Commander здорового человека

Файлы по-другому: Nnn

Двухпанельный файловый менеджер не всегда удобен, когда необходимо просто пройтись по каталогам и найти/открыть нужный файл. В этом случае гораздо лучше подойдет nnn — простой и быстрый как молния файловый менеджер без лишних обвесок и со всей необходимой функциональностью для навигации по файловой системе.

консольные почтовые клиенты windows. nnn. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-nnn. картинка консольные почтовые клиенты windows. картинка nnn. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл. Лаконичный интерфейс nnn

Электронная почта: mutt

В среде пользователей UNIX почтовый клиент mutt занимает примерно то же место, что и Vim: его либо ненавидят, либо не могут без него жить. Как и у Vim, у mutt очень высокий порог вхождения, его нельзя просто запустить и начать использовать. Точнее, можно, но всей мощи клиента ты не увидишь. mutt необходимо конфигурировать, долго подстраивая его под себя. Зато в результате ты получишь приложение, с помощью которого можно обработать тонны писем намного быстрее, чем с помощью любого другого клиента.

Рассказывать здесь о том, как конфигурировать mutt, бессмысленно, это слишком обширная тема. Зато в Сети всегда можно найти множество преднастроенных конфигов, один из которых обязательно тебе подойдет (пример для любителей Vim). Существуют даже онлайн-генераторы конфига mutt.

Вот лишь базовый конфиг mutt для подключения к Gmail (имей в виду, тебе необходимо включить поддержку IMAP и создать пароль приложения специально для mutt, если ты используешь двухфакторную аутентификацию):

консольные почтовые клиенты windows. mutt. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-mutt. картинка консольные почтовые клиенты windows. картинка mutt. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл. mutt: простота и эффективность

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

консольные почтовые клиенты windows. Evgenij Zobnin 1. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-Evgenij Zobnin 1. картинка консольные почтовые клиенты windows. картинка Evgenij Zobnin 1. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Источник

Идеальный корпоративный почтовый клиент

консольные почтовые клиенты windows. e40404dca8a07beb47a482ff0d336ca3. консольные почтовые клиенты windows фото. консольные почтовые клиенты windows-e40404dca8a07beb47a482ff0d336ca3. картинка консольные почтовые клиенты windows. картинка e40404dca8a07beb47a482ff0d336ca3. Консольный FTP клиентЗдравствуйте. Помогите найти консольный FTP клиент, работающий через BAT. Перерыл весь инет и нашёл.Когда возникает необходимость настроить почтовую систему для компании в первую очередь на ум приходит использовать решения от Microsoft — Exchange и Outlook. К сожалению, эти решения не обеспечивают достаточной гибкости и многим не подходят по разным параметрам.

Хорошо, но что же использовать вместо них, ведь хочется такой же красивой и прозрачной для пользователя работы с почтой, которую обеспечивает протокол MAPI? Небольшая перетасовычка и на свет появляется вполне очевидное и на самом деле безальтернативное решение — IMAP. IMAP, слава Богу, в современном мире в той или иной степени поддерживают чуть ли не все почтовые клиенты, так что выбор у нас огромен. Но если присмотреться внимательней, то он сужается до весьма скромного множества из одного-двух наименований.

В дебрях конфигов

Теперь перейдём непосредственно к Thunderbird. Все настройки Thunderbird хранит в виде столь любимых многими текстовых конфигурационных файлов, правда, в несколько необычной манере. Конфиги Thunderbird представляют из себя скрипты на JavaScript. И Thunderbird не просто читает их, а исполняет. Из этого следует весьма забавный вывод: можно использовать множество возможностей JS для динамического формирования нужных параметров. Конечно, поддержка JS в Thunderbird далеко не полная, но нам её хватит с лихвой.

Основной конфигурационный файл Thunderbird хранится в профиле пользователя и называется prefs.js. На всякий случай: профиль Thunderbird находится либо в домашней папке (для Linux), либо в AppData (для Windows), либо в папке программы (для Thunderbird Portable).

Формат указанного файла весьма простой, он весь состоит из строчек вида

Я думаю понятно, что подобные строчки задают некоторое значение указанным в качестве первого аргумента параметрам.

Этот редактор вам ещё очень пригодится, так что обязательно его отыщите. Хотя реально что-то изменять через него вам вряд ли понадобится, зато он крайне полезен для поиска названий нужных опций.

Mozilla AutoConfig (aka Mission Control)

Вот мы и подошли к самому интересному. Как я уже сказал, напрямую редактировать prefs.js нельзя, но это и не проблема, поскольку в Thunderbird есть ещё один уровень настроек, с помощью которого можно как угодно управлять пользовательскими параметрами из prefs.js.

Этот интригующий механизм также полностью основан на JavaScript скриптах, но в этот раз вы уже вольны изменять что угодно и как угодно, в том числе используя все доступные инструменты и возможности JavaScript как языка программирования.

Для включения дополнительного механизма настройки надо немного поменять файлы в установочной директории Thunderbird. Для начала необходимо добавить две строчки в конец файла greprefs/all.js, найти который можно в /usr/lib/thunderbird-xxx/ в Ubuntu Linux или рядом с Thunderbird.exe в Windows. Вот эти строчки:

Вторая содержит собственно имя конфигурационного файла, который должен использовать Thunderbird, а первая отвечает за его шифрование. Обычно шифровать ничего не нужно, поэтому значение первого параметра лучше выставлять равным 0.

Теперь необходимо создать указанный файл thunderbird.cfg. Располагаться он должен в той же папке, что и основной исполняемый файл Thunderbird. Узнать, где находится Thunderbird в Linux можно командой

Ну а в Windows вы можете заглянуть, например, в свойства ярлыка.

Что может располагаться в thunderbird.cfg? Любой JavaScript код, который сможет выполнить Thunderbird. Однако нам-то надо работать с опциями настройки, для этого можно использовать следующие функции:

Есть ещё парочка доступных функций, но они вам вряд ли понадобятся. Самая полная статья, которую я нашёл на эту тему, находится здесь.

Вот простейший пример файла thunderbird.cfg, который немного «тюнит» Thunderbird:

Файл подробно комментирован, так что надеюсь вы разберётесь, что к чему. Блок try нужен для перехвата ошибок, лучше его не убирайте (иначе в случае чего Thunderbird просто не запустится). Кроме того, все параметры и нужные значения для них для своей конкретной инфраструктуры я скопировал из упоминавшегося редактора конфигурации, настроив предварительно всё вручную обычным способом. Рекомендую всегда именно так и делать, иначе вы будете долго гадать какое значение нужно указать, например, для параметра mail.server.server.socketType в вашем случае.

То есть алгоритм действия по поиску нужных параметров и указанию их значений примерно такой: сначала настраиваем что-то на чистом Thunderbird вручную, а потом копируем все нужные настройки из редактора в самом Thunderbird в скрипт автоконфигурации.

Теперь достаточно при установке Thunderbird положить этот скрипт в папочку с исполняемым файлом (и не забыть добавить две строчки в all.js!), и все ваши пользователи, которые будут открывать Thunderbird на этом компьютере, получат автоматически настроенные параметры своих аккаунтов, а так же подключённую адресную LDAP книгу с сотрудниками организации.

Для проверки работоспособности скрипта можно заглянуть всё в тот же редактор настроек Thunderbird. В нём статус параметров, для которых была выполнена функция lockPref(), должен быть «заблокировано». Если это не так — значит вы где-то ошиблись и ваш скрипт не работает.

Кстати, обратите внимание, хитрый трюк с указанием в качестве localfoldersserver сервера IMAP позволяет отключить локальные папки в клиенте. Это бывает немаловажно в организации с внутренним IMAP сервером и блондинками, которые не понимают, что локальные папки на то и локальные, что хранятся в профиле пользователя на конкретном компьютере, а не на сервере.

Как я уже сказал, вы можете использовать практически все возможности стандартного JavaScript в скрипте автоконфигурации, плюс можете получать значение системных переменных. Это уже очень неплохо, и пытливые администраторы уже наверно стали прикидывать варианты автоматического обновления скриптов thunderbird.cfg на локальных компьютерах. К счастью, изобретать велосипед вовсе не обязательно.

Настройка через сервер

В механизм автонастройки Thunderbird встроена возможность загрузки конфигурационного файла с сервера по указанному URL. Воспользоваться ей очень просто — необходимо в файле, на который ссылается опция general.config.filename из all.js (то есть в нашем случае thunderbird.cfg) указать всего две строчки:

Ну и конечно по указанному адресу должен находится нужный вам конфигурационный файл вроде того, что приведён в предыдущем разделе. Зачем нужен второй параметр — не совсем понятно, но судя по названию лучше его не включать.

Итого: мы получили достаточно эффективный механизм централизованной настройки Thunderbird. Однако ему явно не хватает гибкости, поскольку JavaScript, увы, многого не умеет. Например — обращаться к внешним источникам данных, как то SQL базы или LDAP каталоги. Соответственно провести тонкую настройку клиента под конкретного пользователя у вас вряд ли получится.

Но если задуматься, это можно легко обойти. Ведь мы храним конфигурационный файл на HTTP сервере, а значит можем его генерировать с помощью полноценного PHP или Perl скрипта на стороне сервера, что значительно расширяет возможности по тонкой настройке, делая их фактически безграничными.

Осталось дело за малым — для тонкой настройки под конкретного пользователя конфигурационного скрипта, а следовательно и Thunderbird, необходимо, чтобы клиент каким-то образом сообщал серверу хотя бы имя пользователя. Thunderbird его может легко вычислить с помощью уже описанной функции getent, ну а передать его можно прямо в URL в виде GET-переменной. Но тут возникает одна проблема: Thunderbird почему-то упорно игнорирует URL с GET-переменными в параметре autoadmin.global_config_url. Хотя это конечно тоже не проблема, ведь с помощью mod_rewrite мы можем на стороне сервера преобразовать обычный URL некоторого вида в URL c GET-переменными и передать уже этот URL скрипту.

Чтобы долго не объяснять, перейдём к практике. Конечный содержимое моего файла thunderbird.cfg, лежащего рядом с бинарником самого Thunderbird, имеет такой вот вид:

Таким образом запущенный из под учётной записи пользователя malamut Thunderbird за настройками полезет по адресу

На сервере mail.domain.com у меня стоит Apache с mod_rewrite и mod_perl, как это дело настраивать вместе пожалуй объяснять не буду. В папочке tb/ в каталоге сайта mail.domain.com лежит Perl-скрипт conf.pl, который собственно генерирует конфигурационные файлы для Thunderbird, и файл .htaccess такого вот содержания:

Таким образом запросы по URL вида

преобразуются в запросы по URL вида

Осталось только написать Perl скрипт, который будет брать из GET-переменных имя пользователя и выдавать соответствующий конфигурационный файл для Thunderbird.

Вот пример такого скрипта:

Некоторые комментарии чуть ниже. А пока при обращении по адресу

получим примерно следующий вывод, сгенерированный приведённым скриптом:

Вот и всё, мы получили файл конфигурации для Thunderbird, сгенерированный Perl скриптом на сервере.

Самое великолепное в этом то, что с помощью описанного механизма можно неограниченно гибко управлять любыми настройками Thunderbird, включая настройки плагинов, которые также подчиняются менеджеру конфигурации. Единственное, что не подвластно такому централизованному конфигурированию — это пользовательский интерфейс, то есть расположение панелек и их размер.

Настройка аккаунтов через конфигурационный файл

Сначала, на всякий случай, рассмотрим основной принцип настроек аккаунтов в Thunderbird, поскольку он не совсем очевиден.

Все множественные данные одного типа Thunderbird нумерует и различает по номерам. Если нужно добавить новый аккаунт, почтовый адрес, SMTP сервер или ещё что, то Thunderbird во внутренних настройках присвоит новому объекту первый доступный номер. Поэтому когда вы добавляете какие-то объекты через скрипт автоконфигурации, то присваивайте номера, заведомо бОльшие, чем уже могут быть в клиенте. Иначе вы можете переписать случайно настройки какого-то пользовательского почтового ящика, что вряд ли понравится пользователю. Исключение — основной корпоративный аккаунт, который имеет номер 1.

Для того, чтобы привязать множественные записи к какому-то объекту, например, несколько почтовых адресов отправки к аккаунту, Thunderbird использует простые списки, разделённые запятой. Например:

Thunderbird поддерживает множественные аккаунты (account), кроме того, у каждого аккаунта может быть несколько почтовых идентификаторов (identity). Названия всех опций, относящихся непосредственно к аккаунту, начинаются с mail.account.accountN, где N — внутренний номер аккаунта. Названия всех опций, относящихся к почтовым идентификаторам, начинаются соответственно с mail.identity.idN, где N — внутренний номер идентификатора.

Список всех аккаунтов Thunderbird хранится в переменной mail.accountmanager.accounts. Кстати, порядок перечисления аккаунтов в этой переменной определяет порядок их следования в левой панели навигации пользовательского интерфейса Thunderbird. Если удалить аккаунт из этого списка, то он пропадёт из Thunderbird, даже не смотря на то, что все его настройки могут остаться на месте.

Список почтовых идентификаторов для аккаунта N указывается в переменной mail.account.accountN.identities. IMAP сервер привязывается к аккаунту с помощью переменной mail.account.accountN.server, SMTP же сервер привязывается к почтовому идентификатору с помощью переменной mail.identity.idN.smtpServer.

В общем, перед тем, как что-то настраивать, крайне рекомендуется разобраться в том, что от чего зависит и что с чем связано.

Полезные трюки для скрипта автоконфигурации

Во-первых, обратите внимание на JavaScript код, который добавляет переменные в список себе подобных. Например, вот так можно добавить аккаунт к уже существующим:

Этот трюк необходим для того, чтобы скрипт автоконфигурации не уничтожал настройки дополнительных аккаунтов, подключённых пользователем вручную. Именно поэтому нужный аккаунт нужно добавлять в список уже существующих, а не просто перезаписывать весь список.

Кроме того, на уровне Perl скрипта можно организовать какую угодно обработку в зависимости от переданного имени пользователя. Я добавил для примера функцию, которая подключает аккаунт с Yandex по его имени, и добавил вызов этой функции для себя. Теперь мне потребуется всего лишь закрыть Thunderbird и открыть его заново, затем ввести свой пароль и всё, мой Yandex аккаунт будет подключён! Такую технику очень удобно использовать для удалённого управления почтовыми клиентами отдельных пользователей.

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

Ну и наконец немаловажным является тот факт, что однажды заблокированные параметры прописываются в настройки локального клиента. То есть если вы поставите Thunderbird на ноубук шефа, подключите его в корпоративной сети с целью его автоматической конфигурации, а потом шеф с ним куда-то уедет, то его настройки в клиенте всё равно сохраняться. Даже не смотря на то, что сервер автоконфигурации не будет доступен из того места, где он будет подключаться к интернету.

Дополнительные возможности Thunderbird

Конфигурировать Thunderbird вы теперь умеете. Однако не забудьте на радостях, что Thunderbird выгодно отличается от всех других почтовых клиентов тем, что поддерживает расширения. И этих расширений доступно великое множество на все случаи жизни.

Например, для управления совместным доступом к почтовым ящикам с помощью IMAP ACL можно использовать соответствующее расширение. Для добавления календаря в Thunderbird отлично подойдёт Lightning, который, кстати, тоже можно очень гибко настроить через описанный выше механизм.

Для того, чтобы установить расширение для всех пользователей компьютера, можно сначала поставить его штатным способом, а потом скопировать соответствующую папочку из своего профиля в каталог extensions/, который можно найти в основном установочном каталоге Thunderbird.

Кроме того, можно создавать профили по умолчанию для новых пользователей. Для этого используется каталог default/profile. В профиль можно положить, например, файл настроек пользовательского интерфейса или файл с сертификатами.

Комментарии и полезные дополнения к материалу всячески приветствуются!

Источник

Отправка почты через командную строку или powershell

Итак, чтобы отправить с «батника» электронное письмо, нужно качнуть http://sourceforge.net/projects/blat/files/ разархивировать и содержимое папки «…\full» скопировать в папку «C:\Windows\System32«, а далее создаем файл send.bat, где пишем

! Хочу обратить внимание на вот эти данные

rem SMTP сервер для отправки сообщения, например, smtp.mail.ru
set from_server=smtp.inbox.ru
rem Порт SMTP сервера для отправки, например 2525 порт
set from_port=2525

Так как почтовики сейчас перевели свои smtp сервера на безопасное соединение, типа SSL, поэтому для успешной отправки по данному соединению нужно еще качнуть вот эту беду https://www.stunnel.org/index.html, которую нужно установить, и при установке можно ставить все по умолчанию, без указания каких то параметров.

Эта штуковина, в нашем случае, дает нам возможность подключаться по безопасному соединению с локального компьютера.

После установки утилиты нужно через cmd.exe перейти в папку, куда была установлена программа, и выполнить

чтобы установить программу как службу

чтобы программа запустилась как служба

! Не закрываем командную строку

Потом, открыть и отредактировать файл

C:\Program Files (x86)\stunnel\stunnel.conf

Например, в моем случаи для майл.ру конфиг выглядит так

сберечь отредактированный файл, а далее в незакрытом ранее терминале выполняем

этим самым мы обновляем конфигурационный файл.

Ну, а теперь вернемся к указанию SMTP сервера и порта для отправки почты с командной строки, а именно, заменяем

rem SMTP сервер для отправки сообщения, например smtp.mail.ru
set from_server=smtp.inbox.ru
rem Порт SMTP сервера для отправки, например 2525 порт
set from_port=2525

нами ранее строки в файле send.bat на

rem Теперь SMTP сервер это наш компьютер

rem Порт, взятый из stunnel.conf

Вот и все, кидаем этот «батник» в Планировщик заданий, привязав к какому то событию, или вставляем все содержимое из send.bat в свой батник, например, который делает что-то полезное, и будет вам уведомление, что что-то полезное выполнилось, в моем случае вышло, что один «батник» вызывается Планировщиком, который сначала архивирует файловую базу БД, отправляет БД на фтп сервер и потом отправляет мне сообщение о выполнении.

Так же, приведу пример, для общего обозрения отправки электронного письма с помощью Powershell.

Создадим файл name.ps1 куда поместим

$EmailFrom = «Электронный адрес отправителя»

$EmailTo = » Электронный адрес получателя»

$Subject = «Тема сообщения»

$Body = «Текст сообщения»

$SMTPServer = «127.0.0.1 \ так как и выше, нужно использовать для отправки stunnel»

# 587 здесь иммется ввиду порт, см. выше о stunnel

$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)

$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(«Электронный адрес отправителя», «Пароль отправителя»);

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *