Главная » Просмотр файлов » Колисниченко Д.Н. - Linux-сервер своими руками

Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 77

Файл №1077324 Колисниченко Д.Н. - Linux-сервер своими руками (Колисниченко Д.Н. - Linux-сервер своими руками) 77 страницаКолисниченко Д.Н. - Linux-сервер своими руками (1077324) страница 772018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 77)

m a i l .procmailrcchmod 600 .procmailrc328Почтовый серверМожно выполнить сортировку по полю From или любому другому,например, последнее правило могло бы выглядеть так::0* "From:.* Subscribe.Ru! admНо в этом случае, если кто-нибудь из пользователей вашей системытакже подпишется на другую рассылку на сервере Subscribe.Ru, то вся почтапопадет к пользователю adm и вам придется читать рассылку вместе.Примечание.Подробнее о правилах сортировки вы прочитаете в справочной системе Linux, введякоманду man procmail.В этом же каталоге ($HOME/mail) создайте файл .forward. Если выработаете как пользователь root, установите права доступа к этому файлу также как и для файла .procmailrc.

В этом файле задаются правила перенаправления почты. Добавьте в него следующую строку:|IFS=' х && exec / u s r / b i n / p r o c m a i l USER= <rnail>Обычно программа procmail находится в каталоге'/usr/bin. Если выпри самостоятельной сборке программы указали другой каталог, изменитекоманду перенаправления в файле . forward.Теперь создайте файл . fetchmailrc. Этот файл нужно создать в каталоге того пользователя, от имени которого будет запускаться fetchmail. Вэтот файл добавьте следующие строки:set postmaster "mail"poll provider.ru proto РОРЗ no dnsuser "mail" pass "my_password" to m a i l hereoptions f e t c h a l lТаким образом вы установите постмастера (пользователь mail.provider.ru) — имя почтового сервера, откуда вы будете забирать почту попротоколу РОРЗ.

При этом вы будете использовать имя пользователя mail ипароль my_password. Опция fetchall указывает программе получить всю почтуи потом удалить полученные сообщения на сервера provider.ru.Запускать программу fetchmail можно как демон, а можно с помощьюпланировщика crontab. В первом случае просто выполните команду:fetchmail -d 12000При этом fetchmail будет проверять наличие новой почты через каждые 20минут. Во втором случае выполните команду crontab -e и введите новое задание:0 , 2 0 , 4 0 * .* * * /usr/bin/fetchmailТеперь перейдем к решению второй задачи. Напомню, что наша цель создание автоответчика. Существуют два типа автоответчиков. Первые посылают автоответ только на определенные сообщения, а вторые — на все.Например, вам нужно отправить клиенту прайс-лист вашей организации поего требованию.

Это первый тип автоответчика. Если же вы уезжаете летомна недельку отдохнуть куда-нибудь и хотите, чтобы программа сообщилалюдям, что вы в отпуске — это второй тип.329Почтовый серверЗаймемся настройкой первого типа. Для этого в ваш файл .procmailrcдобавьте строки:0:* "Subject.*PriceI (formail -r ; cat $HOME/pricelist.zip)| sendmail -tКак видите все намного проще, чем ожидалось. А второй тип автоответчика создается еще проще:Q:I (formail -r; cat $HOME/infо.txt)I sendmail -tЗаметьте — вы не определяете никаких условий, поэтому ответное письмо будет отправлено всем, кто напишет вам сообщение.

В файл i n f o . t x tнужно записать ваш автоответ.Сделаем небольшой вывод. Программа fetchmail используется для загрузки сообщений, a procmail — для ее сортировки. Рекомендую вам изучитьпараметры программ fetchmail и procmail — вы найдете их в документации поэтим программам. Используйте procmail с большой осторожностью, потомучто если вы неправильно укажете условия сортировки, почта будет простоутеряна без возможности восстановления.13.5.

Создание списка рассылкиСредствами Linux можно создать небольшую рассылку сообщений электронной почты. Для больших систем рассылки я не рекомендовал бы использовать вам этот метод. Обычно системы рассылки создаются средствами,специально предназначенными для этого, например, РНР в связке с MySQLидеально подходят для этого. Язык программирования РНР предназначендля создания Web-приложений и оснащен всеми необходимыми для этогофункциями, а сервер баз данных MySQL обеспечит поддержку базы данныхадресов подписчиков и параметры рассылки.

Таким образом, если вы хотитесоздать собственный MailList.Ru, воспользуйтесь готовыми решениями илинапишите собственную на РНР или Perl.Однако иногда бывает полезно создать небольшую рассылку внутри однойорганизации. Приведенное далее решение не отличается оригинальностью ине претендует на звание лучшей системы рассылки. С помощью этого примера вы также узнаете, как использовать стандартную почтовую утилиту Linux —mail.

Эта программа входит в состав практически каждой Unix-системы.Итак, допустим у вас есть три отдела: отдел маркетинга, производственный отдел и администрация. К первому отделу относятся пользователивашей системы marina и oleg, ко второму — igor, dmitry, olya, а к третьему president, director, secretar. Периодически вам нужно отправлять сообщенияв один из отделов. Число пользователей небольшое и, возможно, отправитьсообщение можно было бы с помощью групп пользователей почтовой программы, которую вы используете. Однако сейчас я покажу, как элегантно330Почтовый серверэто можно сделать средствами Linux.

Тем более, что для этого не нужноустанавливать никаких почтовых программ.Создайте файл .mailrc в вашем домашнем каталоге и добавьте в негостроки:alias market marina olegalias proizv igor dmitry olyaalias adm director secretarВ дальнейшем, чтобы отправить сообщение в производственный отделпросто введите команду:mail proizvПрограмма mail попросит вас ввести тему, а затем текст сообщения. Дляокончания ввода нажмите Ctrl+D и mail отправит сообщения пользователям.При создании псевдонимов убедитесь, что в вашей системе нет пользователей с таким именем.Как видите, средствами одной программы mail вам удалось сделатьнемного. Если пользователей много, использовать механизм псевдонимов неочень удобно. Гораздо удобнее, чтобы программа mail брала список подписчиков из какого-нибудь файла.

К сожалению, разработчики этой программыне предусмотрели такой возможности, однако с помощью небольшого сценария мы можем организовать эту возможность. Посмотрим, что из этогополучится, если воспользоваться средствами интерпретатора команд bash.Создайте сценарий smaller в своем домашнем каталоге (см. листинг 13.3).чЛистинг 13.3. Сценарий smailer#!/bin/bashDT='date'echo $DT » logf o r user in 'cat u s e r s 'doecho "Sending message to $user"mail $user -s Subscribe < msg 2» logdoneНапомню, что сценарий — это обыкновенный текстовый файл с установленным атрибутом выполнения, содержащий команды интерпретатора.Более подробно сценарии рассматриваются в гл. 19, а сейчас попробуюобъяснить все на интуитивном уровне, чтобы вы поняли сам принципработы вышеприведенного сценария.В первой строке указывается, какой интерпретатор будет выполнять вашикоманды — /bin/bash.

Обратите внимание на одинарные кавычки, в которые заключена команда date. Это не обыкновенные кавычки, а те, которыерасположены под знаком тильды «~». Во второй и третьей строках заноситсядата в файл протокола log. Этот файл находится в домашнем каталоге.Затем последовательно (в цикле for) читается список пользователей изфайла users, который находится в домашнем каталоге, и передается имяпользователя программе mail. Программа mail поочередно отправит сообщение каждому пользователю из файла users. Тема сообщения устанавливаетсяс помощью параметра -s, а само сообщение хранится в файле msg.33?Почтовый серверВесь поток ошибок перенаправляется в файл log. Вы можете переправить и все сообщения программы mail, удалив дескриптор 2 перед символами перенаправления ввода/вывода.Теперь создайте файл users.

Текст моего личного файла приведен влистинге 13.4.Листинг 13.4 Файл usersdenusyntheticevgСообщения, которые вы хотите отправить, запишите в файл msg. Запустите сценарий командой:. /smallerНа экране вы должны увидеть следующую информацию:SendingSendingSendingSendingmessage to denmessage to umessage to syntheticmessage to evgТак как пользователя evg в моей системе нет, в файл протокола будетзаписано соответствующее сообщение:Сбт Май 4 1 0 : 4 3 : 2 8 EEST 2 0 0 2e v g . .

. User u n k n o w n / r o o t / d e a d . l e t t e r . . .Saved message in / r o o t / d e a d . l e t t e rНа экран не будет выведено сообщение об ошибке, потому что мыперенаправили стандартный поток ошибок в файл log. Как видите, всепредельно просто.Программу mail можно использовать и для чтения почты. Для этогопросто введите команду:mailЕсли в вашем почтовом ящике нет сообщений, программа сообщит вам об этом:No mail for userгде user — это ваше имя пользователя.Если будут новые сообщения, программа выведет на экран нумерованный список, и вы сможете ввести номер сообщения, которое хотите прочитать.

Для удаления сообщения используется команда d <номер> или d <диапазон>. Выйти из программы можно, введя команду q.Использовать программу mail в качестве полноценной почтовой программынельзя — она работает только с вашим локальным ящиком, поэтому если вамнужно будет получить сообщения откуда-то извне, скажем pop.mail.ru, вы несможете сделать это.

Характеристики

Тип файла
PDF-файл
Размер
52,29 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6310
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее