⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mhn.me

📁 早期freebsd实现
💻 ME
📖 第 1 页 / 共 3 页
字号:
For all of these directives,the user may include a brief description of the content betweenthe \*(lq[\*(rq character and the \*(lq]\*(rq character.By default,\fImhn\fR will generate a unique \*(lqContent-ID:\*(rq for each directive;however,the user may override this by defining the ID using the\*(lq<\*(rq and \*(lq>\*(rq characters.Putting this all together,.ne 15here is a brief example of what a user's components file might look like:.sp.nf.in +.5iTo:cc:Subject:--------#audio/basic [Flint phone]  \\    |raw2audio -F < /home/mrose/lib/multi-media/flint.au#image/gif   [MTR's photo] \\                    /home/mrose/lib/multi-media/mrose.gif.in -.5i.fi.spFor a later example,we'll call this components file \fImhncomps\fR.As noted earlier,in addition to directives,plaintext can be present.Plaintext is gathered,until a directive is found or the draft is exhausted,and this is made to form a text content.If the plaintext must contain a \*(lq#\*(rq at the beginning of a line,simply double it,.ne 6e.g.,.sp.in +.5i##when sent, this line will start with only one #.in -.5i.spIf you want to end the plaintext prior to a directive,e.g.,to have two plaintext contents adjacent,simply insert a line containing a single \*(lq#\*(rq character,.ne 10e.g.,.sp.nf.in +.5ithis is the first content#and this is the second.in -.5i.fi.spFinally,if the plaintext starts with a line of the form:.sp.in +.5iContent-Description: text.in -.5i.spthen this will be used to describe the plaintext content.\fBNOTE WELL:\fR you must follow this line with a blank line beforestarting your text.By default,plaintext is captured as a text/plain content.You can override this by starting the plaintext with \*(lq#<\*(rqfollowed by a content-type specification,.ne 11e.g.,.sp.nf.in +.5i#<text/richtextthis content will be tagged as text/richtext#and this content will be tagged as text/plain.in -.5i.fi.spNote that if you use the \*(lq#<\*(rq plaintext-form,then the content-description must be on the same line which identifiesthe content type of the plaintext.If \fImhn\fR is successful,it renames the original draft to start with the \*(lq,\*(rq characterand end with the string \*(lq.orig\*(rq,e.g.,if you are editing the file \*(lqdraft\*(rq,it will be renamed to \*(lq,draft.orig\*(rq.This allows you to easily recover the \fImhn\fR composition file.If the `-check' switch is given,\fImhn\fR will associate an integrity check with each content..Uh "Automatic Composition"Note that MH will not invoke \fImhn\fR automatically,unless you add this line to your \&.mh\(ruprofile file:.sp.in +.5iautomhnproc: mhn.in -.5i.spOtherwise,you must specifically give the command.sp.in +.5iWhat now? edit mhn.in -.5i.spprior to sending the draft.You can easily tailor MH to help you remember to do this..ne 10Suppose you have these lines in your profile:.sp.nf.in +.5imcomp:          -editor mprompter -form mhncompsmprompter:      -noprepend -norapidmprompter-next: mhn.in -.5i.fi.spwhere \fImcomp\fR is a link to \fIcomp\fR\0(1),and \fImprompter\fR is a link to \fIprompter\fR\0(1).Then to send a message using the \fImhncomps\fR components file above,.ne 26the sequence is:.sp.nf.in +.5i% \fBmcomp\fRTo: \fBuser@host\fRcc:Subject: \fBmulti-media message\fR--------#audio/basic [Flint phone]  \\    |raw2audio -F < /home/mrose/lib/multi-media/flint.au#image/gif   [MTR's photo] \\                    /home/mrose/lib/multi-media/mrose.gif--------Enter additional text\fBThis message contains three contents.\fR\fB<CTRL-D>\fR--------What now? \fBedit\fR (this invokes \fImhn\fR)What now? \fBsend\fR.in -.5i.fi.spYou have to remember to type the additional edit command,but it should be fairly obvious from the interaction.Finally,you should consider adding this line to your profile:.sp.in +.5ilproc: show.in -.5i.spThis way,if you decide to \fBlist\fR after invoking \fImhn\fR as your editor,the command.sp.in +.5iWhat now? list.in -.5i.spwill work as you expect..Uh "Sending Files via Mail"When you want to send a bunch of files to someone,you can run the \fIviamail\fR shell script,which is similar the tarmail command:.sp.in +.5i/usr/contrib/mh-6.8/lib/viamail mailpath \*(lqsubject\*(rq files\0....in -.5i.sp\fIviamail\fR will archive the directories/files you name with \fItar\fR\0(1),and then mail the compressed archive to the `mailpath' with the given`subject'.The archive will be automatically split up into as many messages asnecessary in order to get past most mailers.Sometimes you want \fIviamail\fR to pause after posting a partial message.This is usually the case when you are running \fIsendmail\fR andexpect to generate a lot of partial messages.If the first argument given to \fIviamail\fR starts with a dash,then it is interpreted as the number of seconds to pause in between postings,.ne 6e.g.,.sp.in +.5i/usr/contrib/mh-6.8/lib/viamail -300 mailpath \*(lqsubject\*(rq files\0....in -.5i.spwill pause 5 minutes in between each posting.When these messages are received,invoke \fImhn\fR once,with the list of messages,and the `\-store' command.The \fImhn\fR program will then store exactly one message containing thearchive.You can then use `\-show' to find out what's inside;possibly  followed by `\-store' to write the archive to a file where you.ne 26can subsequently uncompress and untar it, e.g.,.sp.nf.in +.5i% mhn -list all msg part  type/subtype             size description   1       message/partial           47K part 1 of 4   2       message/partial           47K part 2 of 4   3       message/partial           47K part 3 of 4   4       message/partial           18K part 4 of 4% mhn -store all% mhn -list -verbose last msg part  type/subtype             size description   5       application/octet-stream 118K             (extract with uncompress | tar xvpf -)             type=tar             x-conversions=compress% mhn -show last msg part  type/subtype             size description   5       application/octet-stream 118K-- headers of message, followed by \fItar\fR listing appears here% mhn -store last% uncompress < 5.tar.Z | tar xvpf -.in -.5i.fi.spAlternately,by using the `\-auto' switch,\fImhn\fR will automatically do the extraction for you,.ne 26e.g.,.sp.nf.in +.5i% mhn -list all msg part  type/subtype             size description   1       message/partial           47K part 1 of 4   2       message/partial           47K part 2 of 4   3       message/partial           47K part 3 of 4   4       message/partial           18K part 4 of 4% mhn -store all% mhn -list -verbose last msg part  type/subtype             size description   5       application/octet-stream 118K             (extract with uncompress | tar xvpf -)             type=tar             x-conversions=compress% mhn -show last msg part  type/subtype             size description   5       application/octet-stream 118K-- headers of message, followed by \fItar\fR listing appears here% mhn -store -auto last-- \fItar\fR listing appears here as files are extracted.in -.5i.fi.spAs the second \fItar\fR listing is generated,the files are extracted.A prudent user will never put `\-auto' in the \&.mh\(ruprofile file.The correct procedure is to first use `\-show',to find out what will be extracted.Then \fImhn\fR can be invoked with  `\-store' and `\-auto' to performthe extraction..Uh "User Environment"Because the display environment in which \fImhn\fR operates may varyfor a user,\fImhn\fR will look for the environment variable \fB$MHN\fR.If present,this specifies the name of an additional user profile which should be read.Hence,when a user logs in on a particular display device,this environment variable should be set to refer to a file containingdefinitions useful for the display device.Normally,only entries of the form.sp.in +.5imhn-show-<type>/<subtype>.brmhn-show-<type>.in -.5i.spneed be present.Finally,\fImhn\fR will attempt to consult one other additional user profile,.ne 6e.g.,.sp.in +.5i/usr/contrib/mh-6.8/lib/mhn_defaults.in -.5i.spwhich is created automatically during MH installation..Fi^$HOME/\&.mh\(ruprofile~^The user profile^$MHN~^Additional profile entries^/usr/contrib/mh-6.8/lib/mhn_defaults~^System-default profile entries^/usr/contrib/mh-6.8/lib/mhl.headers~^The headers template.Pr^Path:~^To determine the user's MH directory.Ps^Current\-Folder:~^To find the default current folder.Ps^mhlproc:~^Default program to display message headers.Ps^mhn-access-ftp:~^Program to retrieve contents via FTP.Ps^mhn-cache~^Public directory to store cached external contents.Ps^mhn-charset-<charset>~^Template for environment to render character sets.Ps^mhn-compose-<type>*~^Template for composing contents.Ps^mhn-private-cache~^Personal directory to store cached external contents.Ps^mhn-show-<type>*~^Template for displaying contents.Ps^mhn-storage~^Directory to store contents.Ps^mhn-store-<type>*~^Template for storing contents.Ps^moreproc:~^Default program to display text/plain content.Samhl(1).br\fIMIME: Mechanisms for Specifying and Describing the Format ofInternet Message Bodies\fR(RFC 1521),.br\fIProposed Standard for Message Encapsulation\fR(RFC 934)..De`+folder' defaults to the current folder.Ds`msgs' defaults to cur.Ds`\-noauto'.Ds`\-nocache'.Ds`\-nocheck'.Ds`\-noebcdicsafe'.Ds`\-form\0mhl.headers'.Ds`\-headers'.Ds`\-pause'.Ds`\-rcache\0ask'.Ds`\-realsize'.Ds`\-rfc934mode'.Ds`\-noserialonly'.Ds`\-show'.Ds`\-noverbose'.Ds`\-wcache\0ask'.CoIf a folder is given,it will become the current folder.The last message selected will become the current message..BuPartial messages contained within a multipart content are not reassembledwith the `\-store' switch..En

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -