MAIL(1) MAIL(1) НАЗВАНИЕ mail - отправка пользователям почты или ее чтение СИНТАКСИС |mail [-o] [-s] [-w] [-t] адресат ... | |mail [-e] [-h] [-p] [-q] [-r] [-f файл] [-F адресат ...] ОПИСАНИЕ Отправка почты На отправку почты воздействуют следующие опции: -o Подавить оптимизацию адреса. -s Не вставлять перевод строки в начало отправляемого письма (см. ниже ПРЕДОСТЕРЕЖЕНИЯ). -w Отправить письмо удаленному пользователю без ожи- дания завершения пересылки. -t Добавить к письму строку "To: адресаты", что поз- воляет получателю знать всех адресатов письма. Адресат обычно задается как входное имя пользователя [см. login(1)]. Если адресат задан, предполагается, что выполняется отправка почты (за исключением случая опции -F). При этом текст отправляемого сообщения читается со стандартного ввода, пока либо не будет введен символ конца файла (CTRL+D), либо не будет введена строка, состоящая из единственной точки. Затем команда mail до- бавляет письмо к почтовому файлу каждого из адресатов. Письмо - это сообщение, перед которым стоит почтовый штемпель. Почтовый штемпель состоит из одной или нес- кольких строк "From ...", за которыми идет пустая стро- ка (если только не была использована опция -s). Если будет обнаружено, что письмо не может быть достав- лено, то оно вернется к отправителю с диагностикой мес- та и причины неудачи. Если во время ввода сообщения на- жать клавишу прерывания, сообщение будет сохранено в файле dead.letter, что позволяет в будущем отредактиро- вать и отправить его. Этот файл обновляется каждый раз, когда он необходим. Если локальная система входит в стандартную коммуника ционную сеть (см. команды подраздела 1C), можно отпра- вить почту пользователю удаленной системы, адрес кото- рого задается обычным для сети образом: имя_системы![имя_системы! ...]имя_пользователя Чтение почты На чтение почты воздействуют следующие опции: -e Установка кода завершения без вывода почты. Нуле- вое значение кода завершения означает, что у поль- зователя есть почта, в противном случае возвраща ется 1. -h Показ окна с заголовками писем, а не текстов пи- сем. Затем выдается приглашение "?". -p Вывод текстов всех писем без промежуточных пригл шений. -q Завершить работу команды mail после получения пре- рывания. В противном случае прерывание вызывает лишь прекращение вывода текста письма. -r Выводить тексты писем в порядке поступления. -f файл Использовать файл вместо подразумеваемого почтово- го файла. -F адресат Вызывает переадресацию последующей почты указанно- му адресату. Опция допустима, только когда у поль- зователя нет почты. По умолчанию команда mail выводит тексты писем в поряд ке, обратном к порядку их поступления, то есть сначала выдается самая свежая почта. После выполнения очередно- го действия происходит либо выход из mail, если было обработано последнее письмо, либо выдается приглашение (символ "?") и со стандартного ввода читается строка, определяющая следующую команду. Для обработки и прос мотра почты доступны следующие команды: перевод_строки, + или n Перейти к следующему письму. d или dp Удалить письмо и перейти к следующему. Как и в двух последующих командах, собственно удаление произойдет лишь в конце сеанса работы с mail. d n Удалить письмо с номером n (письма нумеруются с 1, в порядке поступления). Не переходить к следующему письму. dq Удалить письмо и выйти из mail. h Показать заголовки писем, расположенных в окрест- ности текущего. h n Показать заголовок письма с номером n. h a Показать заголовки всех писем в пользовательском почтовом файле. h d Показать заголовки писем, отмеченных на удаление. p Снова показать текущее письмо. - Показать предыдущее письмо. a Показать письмо, пришедшее во время сеанса работы с mail. n Показать письмо с номером n. r [адресат ...] Ответить отправителю письма и другим адресатам, затем удалить сообщение. s [файл ...] Сохранить письмо в указанных файлах (по умолчанию используется файл $HOME/mbox). Из почтового файла письмо удаляется. y [файл ...] То же, что и предыдущая команда. u [n] Снять отметку об удалении с письма номер n (по умолчанию используется номер последнего прочитан- ного). w [файл ...] Сохранить в указанных файлах только сообщение (без почтового штемпеля). По умолчанию используется файл $HOME/mbox. m [адресат ...] Переслать текущее письмо указанным адресатам. q или CTRL+D Оставить в почтовом файле только неудаленные пись- ма и завершить сеанс работы с командой mail. x Оставить почтовый файл неизменным и завершить се- анс работы с командой mail. ! команда Выполнить одну команду shell'а. ? Показать перечень команд. При входе в систему пользователю сообщается о наличии для него почты, если она есть. Также сообщается о появ лении новой почты во время сеанса работы с командой mail. Для видоизменения работы команды mail существует два способа обращения с почтовым файлом. Чтобы обеспечить необходимый уровень секретности, следует дать прочим пользователям право либо на чтение/запись этого файла, либо только на чтение, либо не дать никаких прав. Если режим доступа к почтовому файлу отличается от стандарт- ного, файл будет сохранен, даже если станет пустым. Если первой строкой почтового файла является |Forward to адресат приходящая текущему пользователю почта будет пересы- латься адресату. В этом случае к почтовому штемпелю бу- дет добавлена строка "Forwarded by ...". Эта возмож- ность полезна в рамках сети, чтобы собирать почту на одной машине и иметь информацию о том, какие письма и откуда пересылались. Установление и отмена режима пере- адресации производится посредством опции -F. Можно за- дать список адресатов, которым будет пересылаться поч- та. Элементы списка разделяются запятыми или пробелами, весь список заключается в кавычки. Длина списка - до 1024 байт. Напомним, что в общем случае адрес содержит один или несколько префиксов имя_системы!. Пример: |mail -F "guest sys6!guest" Для отмены режима переадресации адресат должен быть пустым: |mail -F "" Чтобы переадресация работала правильно, идентификатором группы, владеющей почтовым файлом, должен быть mail, а члены группы должны иметь право на чтение и запись. ФАЙЛЫ /etc/passwd Файл паролей используется для идентификации отправителей и адресатов. /usr/mail/пользователь Почтовый файл. $HOME/mbox Подразумеваемый файл для сохра нения писем. $MAIL Полное имя почтового файла. /tmp/ma* Временные файлы. /usr/mail/:saved/* Временные файлы. /usr/mail/*.lock Блокировочные файлы. dead.letter Прерванное письмо. СМ. ТАКЖЕ login(1), mailx(1), rmail(1), write(1). ПРЕДОСТЕРЕЖЕНИЯ В результате нескольких переадресаций может образовать- ся цикл. При попадании почты в цикл будет выдано сооб- щение mail: Unbounded forwarding Опцию -s следует использовать осторожно, так как без промежуточного перевода строки сообщение может быть проинтерпретировано как часть почтового штемпеля, что нарушит работу команды mail. Для совместимости с коман- дой mailx(1) сделано так, что если первая строка сооб- щения - "Subject:...", то пустая строка не вставляется вне зависимости от использования опции -s. СЮРПРИЗЫ Иногда команда mail не может удалить блокировочный файл. После возникновения прерывания следующее сообщение мо- жет не напечататься; команда p исправляет ситуацию.@