FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.
Motif, OSF/1 и UNIX это зарегистрированные торговые марки, а IT DialTone и The Open Group это торговые марки Open Group в Соединенных Штатах и других странах.
Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак <<TM>> или <<(R)>>.
В этом документе даются основы работы с MH во FreeBSD
MH ведет свою историю с 1977 года, с компании RAND Corporation, где были разработаны основы работы MH. MH не является единой программой для работы с электронной почтой, но подходом к тому, как лучше всего разрабатывать инструменты для чтения электронной почты. Разработчики MH провели большую работу, твердо придерживаясь принципа KISS: Keep It Simple Stupid. Вместо того, чтобы разработать одну большую программу для чтения, отсылки и обработки электронной почты, они написали специальные программы для каждого случая вашей работы с электронной почтой. Некоторым нравится MH по причине его специализации, которую очень проста и естественна. Каждый инструмент в MH выполняет одно действие, но выполняет его очень хорошо.
Кроме различных инструментов, которые можно использовать для
обработки своей электронной почты, MH прекрасно выполняет
работу по сохранению настроек каждого из этих инструментов однообразными и
соответствующими друг другу. На самом деле, если вы не совсем понимаете,
как что-то должно работать, и какими должны быть аргументы некоторой
команды, то вы можете попытаться угадать и окажетесь правы. Каждая
команда MH однообразна в обработке конфигурационных
файлов и передаче параметров командной строки. Вам полезно будет помнить,
что вы всегда можете добавить -help
к команде для вывода опций
этой команды.
Первым делом вам нужно убедиться, что на вашей машине с FreeBSD установлен пакет MH. Если вы устанавливали систему с компакт-диска, то для установки MH можете выполнить такую команду:
#
pkg_add /cdrom/packages/mh-6.8.3.tgz
Вы увидите, что при этом будет создан каталог
/usr/local/lib/mh
, а в каталог
/usr/local/bin
будут добавлены несколько выполнимых
файлов. Если вы предпочитаете откомпилировать все самостоятельно, то
можете сгрузить исходный код с общедоступного ftp-сервера по адресу
ftp.ics.uci.edu или louie.udel.edu.
Этот учебник не является полным и подробным описанием того, как работает MH. Он предназначен для того, чтобы вы начали свой путь по дороге к более удобному и эффективному чтению электронной почты. Вы должны прочесть страницы справочной системы по различным командам. Также вас может заинтересовать телеконференция comp.mail.mh. Прочтите FAQ по MH. Лучшим источником информации по MH является книга MH и nmh Джерри Пика: электронная почта для пользователей и программистов.
Этот раздел посвящен тому, как использовать команды
inc
, show
, scan
,
next
, prev
, rmm
,
rmf
и msgchk
. Одной из приятнейших
особенностей MH является единообразие
интерфейсов программ. При использовании этих программ нужно помнить одну
особенность - способ задания списков сообщений. В случае команды
inc
это не обязательно, но с командами типа
show
это полезно знать.
Список сообщений может иметь вид типа 23 20
16
, что будет означать сообщения 23, 20 и 16. Это весьма
просто, но можно делать более полезные вещи, типа
23-30
, что будет означать все сообщения с 23 до
30. Вы можете также указывать здесь в виде
cur:10
, что будет действовать на текущее сообщение
и на следующие 9 сообщений. Сообщения cur
,
last
и first
являются
особыми обозначениями, соответствующими текущему, последнему и первому
сообщениям в почтовом ящике.
Если вы просто наберете inc
и нажмете
return, то начнете работать с MH.
При выполнении команды inc
в первый раз, она настроит
вашу учетную запись для использования настроек MH
по умолчанию и запросит создание каталога Mail
в вашем
домашнем каталоге. Если у вас имеется почта, ожидающая сгрузки, вы увидите
нечто вроде следующего:
29 01/15 Doug White Re: Another Failed to boot problem<<On Mon, 15 J 30 01/16 Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of 31 01/16 Bruce Evans Re: location of bad144 table<<>> >It would appea 32 01/16 Jordan K. Hubbar Re: video is up<<> Anyway, mrouted won't run, ev 33 01/16 Michael Smith Re: FBSD 2.1<<Nate Williams stands accused of sa
Это то же самое, что вы увидите при выполнении команды
scan
(смотрите Раздел 2.3, <<scan
-сканирование ваших сообщений>>). Если вы
просто запустили команду inc
без параметров, она
проверит ваш компьютер на наличие электронной почты, которая
предназначается вам.
Многим нравится для получения своей электронной почты использовать
протокол POP. MH может работать с ним для получения
вашей электронной почты. Вам нужно передать команде inc
несколько
аргументов командной строки.
%
inc -host mail.pop.org -user
username
-norpop
Это укажет команде inc
на соединение с
mail.pop.org
для сгрузки вашей электронной
почты, а также сообщит о том, что ваше имя пользователя в той системе
username
. Параметр -norpop
указывает команде inc
на использование обычного POP3
для сгрузки вашей электронной почты. В MH
имеется поддержка нескольких разновидностей POP. Более чем вероятно, что
вам никогда не придется ими пользоваться. Хотя с inc
вы можете выполнять более сложные действия, такие, как проверка
файлов и сканирование формата файлов, это позволит вам начать работу.
Команда msgchk
используется для получения
информации о том, есть ли у вас новая почта. msgchk
воспринимает те же самые параметры -host
и
-user
, что и команда inc
.
show
выводит письмо в вашей текущем почтовом
ящике. Как и inc
, команда show
незатейлива. Если вы просто наберете show
и
нажмете return, то она выдаст текущее сообщение. Вы
можете также указать конкретные номера выводимых сообщений:
%
show 32 45 56
По этой команде выведутся сообщения с номерами 32, 45 и 56 друг за
другом. Пока вы не поменяете действия по умолчанию, команда
show
в основном выполняет команду
more
над сообщением электронной почты.
next
используется для перехода к следующему
сообщению, а prev
для перехода к предыдущему
сообщению. Обе команды подразумевают выполнение команды
show
, поэтому при переходе к следующему сообщению
оно будет автоматически выведено на экран.
scan
выдает краткий список сообщений в вашем
текущем почтовом ящике. Вот пример того, что вам выдаст команда
scan
.
30+ 01/16 Jordan K. Hubbar Re: FBSD 2.1<<> Do you want a library instead of 31 01/16 Bruce Evans Re: location of bad144 table<<>> >It would appea 32 01/16 Jordan K. Hubbar Re: video is up<<> Anyway, mrouted won't run, ev 33 01/16 Michael Smith Re: FBSD 2.1<<Nate Williams stands accused of sa
Как и практически все в MH, этот
вывод можно настроить. Это обычный формат вывода по умолчанию.
В нем дается номер сообщения, дата, отправитель, строка темы и
фрагмент начала письма, если он помещается. Знак
+
означает, что данное сообщение является
текущим, так что при выполнении команды show
будет выдано именно это сообщение.
Одним из полезных параметров для команды scan является
-reverse
. При этом ваши сообщения будут выдаваться в
порядке, при котором сообщения с наибольшими номерами следуют первыми,
а сообщения с меньшими номерами последними. Другим полезным параметром
для scan
является чтение из файла. Если вы хотите
просканировать почтовый ящик с входящей почтой во FreeBSD без
использования команды inc
, то это можно сделать
командой scan -file
/var/mail/
. Это можно
сделать с любым файлом в формате mbox.username
rmm
используется для удаления почтового
сообщения. По умолчанию обычно сообщение на самом деле не удаляется,
а переименовывается и игнорируется командами MH.
Вам нужно периодически просматривать сообщения и физически удалять
<<удаленные>> сообщения.
Команда rmf
используется для удаления почтовых
ящиков. Она не переименовывает файлы, а действительно их удаляет с
диска, так что при использовании этой команды вам нужно быть
внимательными.
Сначала вам нужно получить новую почту командой
inc
. Так что в командной строке наберите
inc
и нажмите return.
%
inc
Incorporating new mail into inbox... 36+ 01/19 Stephen L. Lange Request...<<Please remove me as contact for pind 37 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl 38 01/19 Amancio Hasty Jr Re: FreeBSD and VAT<<>>> Bill Fenner said: > In%
При этом выдается ваша новая электронная почта, которая была
добавлена в ваш почтовый ящик. Так что следующими действиями будут
вывод сообщений по команде show
и переход от
сообщения к сообщению.
%
show
Received: by sashimi.wwa.com (Smail3.1.29.1 #2) id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST) From: "Stephen L. Lange" <stvlange@wwa.com> To: matt@garply.com Subject: Request... Message-Id: <Pine.BSD.3.91.960119133211.824A-100000@sashimi.wwa.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Please remove me as contact for pindat.com%
rmm
%
next
Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8 .6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT Message-Id: <199601191756.RAA24416@whydos.lkg.dec.com> X-Authentication-Warning: whydos.lkg.dec.com: Host localhost didn't use HELO pro tocol To: hsu@clinet.fi Cc: hackers@FreeBSD.org Subject: Re: kern/950: Two PCI bridge chips fail (multiple multiport ethernet boards) In-Reply-To: Your message of "Fri, 19 Jan 1996 00:18:36 +0100." <199601182318.AA11772@Sysiphos> X-Mailer: exmh version 1.5omega 10/6/94 Date: Fri, 19 Jan 1996 17:56:40 +0000 From: Matt Thomas <matt@lkg.dec.com> Sender: owner-hackers@FreeBSD.org Precedence: bulk This is due to a typo in pcireg.h (to which I am probably the guilty party).
По команде rmm
было удалено текущее сообщение, а
по команде next
был выполнен переход к следующему
сообщению. Теперь, если я захочу просмотреть десять последних
сообщений для чтения одного из них, я должен сделать следующее:
%
scan last:10
26 01/16 maddy Re: Testing some stuff<<yeah, well, Trinity has 27 01/17 Automatic digest NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19 28 01/17 Evans A Criswell Re: Hey dude<<>From matt@tempest.garply.com Tue 29 01/16 Karl Heuer need configure/make volunteers<<The FSF is looki 30 01/18 Paul Stephanouk Re: [alt.religion.scientology] Raw Meat (humor)< 31 01/18 Bill Lenherr Re: Linux NIS Solaris<<--- On Thu, 18 Jan 1996 1 34 01/19 John Fieber Re: Stuff for the email section?<<On Fri, 19 Jan 35 01/19 support@foo.garpl [garply.com #1138] parlor<<Hello. This is the Ne 37+ 01/19 Matt Thomas Re: kern/950: Two PCI bridge chips fail (multipl 38 01/19 Amancio Hasty Jr Re: FreeBSD and VAT<<>>> Bill Fenner said: > In%
Теперь, если я хочу прочесть сообщение номер 27, я выполняю команду
show 27
, и сообщение будет показано. Как вы
можете видеть на примере этого простого сеанса работы,
MH весьма легок в использовании, а
просмотр электронной почты и ее вывод интуитивен и прост.
Любому, кто получает много электронной почты, определенно требуется
сортировать, помечать, сжимать и нумеровать свою электронную почту
различными способами. MH может делать
это лучше, чем какой-либо другой инструмент. Мы пока еще не обсуждали
концепцию папок. Несомненно, вы уже встречались с папками при
использовании других почтовых программ. В MH
также используются папки. MH может даже
создавать в папках вложенные в них папки. При работе с
MH вы должны помнить, что при запуске команды
inc
первый раз она запрашивает создание каталога
Mail
и начинает сохранять все в этом каталоге. Если
вы посмотрите на содержимое этого каталога, то обнаружите там каталог с
именем inbox
. В этом каталоге находится вся ваша
входящая почта, которая не была еще никуда перемещена.
При создании новой папки в каталоге программы MH
Mail
будет создан новый каталог, а сообщения этой
папки будут размещаться в этом каталоге. Когда приходит новая
электронная почта, то она размещается в каталоге
inbox
в файле с именем, соответствующим номеру
сообщения. Поэтому, даже если у вас нет ни одного инструмента
MH для чтения вашей электронной почты,
вы можете продолжать использовать стандартные UNIX(R) команды для
работы с этими каталогами и просмотра ваших файлов. Такой
упрощенный подход на самом деле дает вам простор для
действий, которые вы можете выполнять над вашей электронной
почтой.
Так же, как вы можете использовать список сообщений типа
23 16 42
с большинством команд
MH, имеется режим и для папок, который вы
можете задать практически с каждой командой MH.
Если вы выполняете команду scan +freebsd
, она будет
сканировать вашу папку freebsd
, а ваша текущая папка
будет изменена на freebsd
. При выполнении команды
show +freebsd 23 16 42
, show
перейдет к вашей папке freebsd
и выведет сообщения
23, 16 и 42. Поэтому запомните этот синтаксис
+
. Вам нужно
использовать такие команды для работы с разными папками. Помните, что
вашей папкой для почты по умолчанию является folder
inbox
,
так что выполнение команды folder +inbox
должно всегда
вернуть вас обратно к вашей почте. Конечно, с бесконечной гибкостью
MH такое поведение может быть изменено, но
в большинстве случаев лучше оставить папку inbox
.
Команда pick
является одной из более сложных
команд в системе MH. Так что вам может
понадобиться прочесть справочную страницу по
pick(1)
для его более полного понимания. В простейшем случае вы можете делать
нечто вроде следующего:
%
pick -search pci
15 42 55 56 57
Команде pick
будет указано на просмотр каждой
строки всех сообщений в текущей папке и выдачу номеров тех сообщений,
в которых было найдено слово pci
. Затем по команде
show
вы можете вывести эти сообщения и прочесть их
или удалить командой rmm
. Вам нужно задать команды
типа show 15 42 55-57
для их вывода. Более полезной
сделать следующее:
%
pick -search pci -seq pick
5 hits%
show pick
При этом будут выведены те же самые сообщения, но вам не придется
тратить на них столько усилий. Параметр -seq
на самом
деле является сокращенным вариантом для -sequence
, а
pick
является именем последовательности, которая
содержит номера сообщений, которые удовлетворяют заданному условию. Вы
можете использовать последовательности практически с любой командой
MH. Так что вы можете выполнить команду
rmm pick
, и все эти сообщения будут удалены. Вы
можете именовать последовательности как угодно. Если вы снова выполните
команду pick, то она перезапишет старую последовательность, если вы
используете то же самое имя.
Выполнение команды pick -search
может оказаться
более длительной операцией, чем просто поиск сообщений от кого-то или
для кого-то. Поэтому pick
позволяет вам
использовать такой предопределенный критерий поиска:
-to
поиск по адресату сообщения
-cc
поиск по содержимому cc
-списка
-from
поиск по тому, от кого исходит сообщение
-subject
поиск электронной почты с заданной темой письма
-date
поиск электронных писем с указанной датой
--component
поиск по любому другому компоненту заголовка письма. (То есть
--reply-to
для поиска всех электронных писем с
определенным значением поля reply-to в заголовке)
Это позволяет вам выполнять действия типа
%
pick -to freebsd-hackers@FreeBSD.org -seq hackers
для получения списка всех электронных писем, посланных в список
рассылки FreeBSD hackers. Команда pick
также
позволяет вам группировать эти критерии различными способами при помощи
следующих параметров:
... -and
...
... -or
...
-not
...
-lbrace
...
-rbrace
Эти команды позволяют вам выполнять следующее
%
pick -to freebsd-hackers -or -cc freebsd-hackers
При этом будет взята вся почта в вашем входящем
почтовом ящике inbox
,
которая была послана по адресу freebsd-hackers или этот адрес
присутствовал в cc-списке. Параметры brace позволяют вам группировать
критерии поиска. Иногда это очень нужно, как в следующем
примере
%
pick -lbrace -to freebsd-hackers -and -not -cc freebsd-questions -rbrace -and -subject pci
В общем, это означает <<выбрать (во freebsd-hackers и не
в cc-списке для freebsd-questions) с темой pci>>. По этой
команде должна быть просмотрена ваша папка и найдены все сообщения,
посланные в список freebsd-hackers, которые не были также включены в
cc-список для freebsd-questions, и в строке темы которых присутствовало
упоминание <<pci>>. Теперь вам стоит задуматься о том,
что называется порядком выполнения операторов. Помните, как при
вычислении значений математических выражений вы начинали слева
направо и сначала умножали и делили, и только потом складывали
и вычитали? В MH присутствует тот же набор
правил для команды pick
. Он достаточно
сложен, так что вам нужно будет изучить справочную страницу. Этот
документ только знакомит с MH.
Имеются три программы, которые предназначены только для управления
вашими папками. Программа folder
используется для
переключения между папками, их сжатия и вывода их списка. В самом
простом случае вы можете выполнить команду folder
+
, и вы переключитесь на
папку newfolder
newfolder
. С этого момента все ваши
команды MH типа comp
, repl
,
scan
и show
будут выполняться над
этой папкой newfolder
.
Иногда при чтении и удалении сообщений в ваших папках образуются
<<holes>>. Если вы выполните команду
scan
, то можете увидеть только сообщения 34, 35, 36,
43, 55, 56, 57, 80. Если вы выполните команду
folder -pack
, то она перенумерует все ваши
сообщения, так что там не будет дыр. Однако она не удаляет никаких
сообщений. Так что вам может понадобиться периодически просматривать
и физически удалять rmm
-сообщения.
Если вам нужна информация о ваших папках, вы можете получить ее
командами folders
или
folder -all
, которые выводят список всех ваших
папок, количество хранящихся в них сообщений, номер текущего сообщения
в каждой папке, и так далее. Такая строка статистики, которую выводят
эти команды для всех папок, имеет тот же самый вид, что вы получаете
при смене папки по команде folder +foldername
.
Результат выполнения команды folders
выглядит
примерно так:
Folder # of messages ( range ); cur msg (other files) announce has 1 message ( 1- 1). drafts has no messages. f-hackers has 43 messages ( 1- 43). f-questions has 16 messages ( 1- 16). inbox+ has 35 messages ( 1- 38); cur= 37. lists has 8 messages ( 1- 8). netfuture has 1 message ( 1- 1). out has 31 messages ( 1- 31). personal has 6 messages ( 1- 6). todo has 58 messages ( 1- 58); cur= 1. TOTAL= 199 messages in 13 folders.
Команду refile
нужно использовать для
перемещения сообщения между папками. Когда вы выполняете команду типа
refile 23 +netfuture
, то сообщение номер 23
перемещается в папку netfuture
. Вы можете также
выполнить команду типа refile 23 +netfuture/latest
,
которая поместит сообщение номер 23 в папку с именем
latest
, вложенную в папку
netfuture
. Если вы хотите сохранить сообщение
в текущей папке и связать его, вы можете выполнить команду
refile -link 23 +netfuture
, которая оставит 23
в вашем текущей папке inbox
, но также и в вашей
папке netfuture
. Наверное, вы уже начали
понимать, какие по настоящему мощные действия вы можете выполнять с
MH.
Электронная почта для большинства людей является улицей с движением
в два ряда, так что вы можете захотеть послать что-то обратно. Способ,
каким MH выполняет посылку почты, может
сначала показаться трудным для использования, но он обеспечивает
удивительную гибкость. Сначала MH
копирует файл компонентов в исходящую электронную почту. Файл
компонентов в основном представляет собой скелет электронного письма с уже
помещенными туда заголовками To:
и Subject:
.
Затем вы отсылаетесь к редактору текстов, в котором вы заполняете
информацию заголовков и набираете тело письма ниже разделительных
строк. При закрытии редактора вызывается программа
whatnow
. Находясь в приглашении
What now?
, вы можете выбрать одно из действий
send
, list
,
edit
, push
или
quit
. Большинство этих команд говорят сами за себя.
Итак, процесс посылки сообщения включает
копирование файла компонент, редактирование вашей электронной почты и
указание программе whatnow
действия, которое нужно
сделать с вашей электронной почтой.
Программа comp
имеет несколько полезных
параметров командной строки. Самой важной сейчас является опция
-editor
. При установке MH
используемым по умолчанию редактором обычно становится программа
prompter
, поставляемая с MH.
Это не очень привлекательный редактор, он просто
делает то, что должен делать. Так что когда вы собираетесь написать
кому-либо письмо, вы можете воспользоваться командами
comp -editor /usr/bin/vi
или comp -editor
/usr/local/bin/pico
. После запуска
comp вы оказываетесь в вашем редакторе и видите
нечто вроде следующего:
To: cc: Subject: --------
Вам нужно указать персону, которой вы посылаете почту, после строки
To:
. То же самое относится и к остальным
заголовкам, так что вам нужно будет указать тему письма после строки
Subject:
. Затем вам просто нужно набрать тело
письма после разделительной строки. Это может показаться несколько
упрощенным, так как многие почтовые программы имеют специальные
опросники, которые запрашивают у вас эту информацию, но необходимости в
этом нет. Плюс это на самом деле дает вам дополнительную
гибкость.
To:freebsd-rave@FreeBSD.org
cc: Subject:And on the 8th day God created the FreeBSD core team
--------Wow this is an amazing operating system. Thanks!
Теперь вы можете сохранить это сообщение и выйти из редактора. Вы
увидите приглашение What now?
и здесь можете набрать
send
или s
и нажать
return. После этого основная группа разработчиков
FreeBSD получит свои слова восхищения. Как я отмечал выше, вы можете
также воспользоваться другими командами в приглашении What now?
. Например,
вы можете использовать quit
, если не хотите посылать сообщение.
Команда forw
ошеломляюще похожа. Большим
отличием является то, что сообщение, которое вы пересылаете,
автоматически включается в исходящее сообщение. Когда вы выполняете
команду forw
, она будет пересылать ваше текущее
сообщение. Вы всегда можете указать на пересылку другого сообщения,
выполняя команду forw 23
, после чего в исходящее
сообщение будет помещено сообщение номер 23, а не текущее сообщение.
Кроме этих маленьких различий, команда forw
работает
абсолютно так же, как comp
. Вы проходите через
в точности такой же процесс посылки сообщения.
По команде repl
будет делаться ответ на текущее
сообщение, если только вы не указали другой номер сообщения. Команда
repl
приложит все усилия, чтобы забежать вперед и
заполнить некоторые заголовки почтового сообщения. Поэтому вы
заметите, что в заголовке To:
уже присутствует
адрес получателя. Также уже будет заполнена строка
Subject:
. Затем вы проходите обычный процесс
написания сообщения и на этом все завершается. Здесь полезно знать о
параметре командной строки -cc
. Вы можете
использовать параметры all
,
to
, cc
и
me
после -cc
для того, чтобы
repl
автоматически добавила различные адреса к
Cc:
-списку сообщения. Вы, наверное, заметили,
что исходное сообщение не будет включаться. Это происходит, потому
что в большинстве настроек MH так
указано изначально.
Файл components
обычно располагается в
каталоге /usr/local/lib/mh
. Вы можете скопировать
этот файл в ваш каталог Mail для MH и
отредактировать его так, чтобы он содержал то, что вы хотите. Это
достаточно простой файл. В начале файла расположены различные
почтовые заголовки, разделительная строка и больше ничего. Команда
comp
просто копирует этот
файл components
и затем редактирует его. Вы
можете добавить любой соответствующий стандарту RFC822 заголовок.
Например, в вашем файле components
вы можете
поместить следующее:
To: Fcc: out Subject: X-Mailer: MH 6.8.3 X-Home-Page: http://www.FreeBSD.org/ -------
Тогда MH будет копировать этот файл
компонентов и передаст его в ваш редактор. Файл
components
весьма прост. Если
вы хотите в сообщениях иметь подпись, просто поместите вашу подпись в
этот файл components
.
Файл replcomps
несколько более сложен. По
умолчанию replcomps
имеет такой вид:
%(lit)%(formataddr %<{reply-to}%?{from}%?{sender}%?{return-path}%>)\ %<(nonnull)%(void(width))%(putaddr To: )\n%>\ %(lit)%(formataddr{to})%(formataddr{cc})%(formataddr(me))\ %<(nonnull)%(void(width))%(putaddr cc: )\n%>\ %<{fcc}Fcc: %{fcc}\n%>\ %<{subject}Subject: Re: %{subject}\n%>\ %<{date}In-reply-to: Your message of "\ %<(nodate{date})%{date}%|%(pretty{date})%>."%<{message-id} %{message-id}%>\n%>\ --------
Он имеет такой же простой формат, как и файл
components
, но содержит несколько дополнительных
форматирующих кодов. Команда %(lit)
определяет
место для адреса. %(formataddr)
является функцией,
которая возвращает полный адрес электронной почты. Следующей частью
является %<
, которая означает условие если и
{reply-to}
соответствует полю reply-to исходного
сообщения. Таким образом, это может быть проинтерпретировано
следующим образом:
%<if {reply-to} в исходном сообщении имеется поле reply-to то передать его в formataddr, %? else {from} взять адрес from, %? else {sender} взять адрес sender, %? else {return-path} взять return-path из исходного сообщения, %> endif.
Как вы можете видеть, форматирование MH
может быть достаточно сложным. Вы можете выяснить, что значат остальные
функции и переменные. Вся информация по написанию строк в таком формате
находится в справочной странице по MH. Действительно удобной вещью
является то, что единожды создав собственный файл
replcomps
, вам не нужно больше его трогать. Ни
одна другая почтовая программа не даст вам той мощи и гибкости, что
дает вам MH.