UWVFP( FP0 ‹؋F&O F&G&G<ʋЋ™Ƌ$6&~&6&F&9EtL2pP3P F&EĞ&(6&>pt*6&>vt TF&EF,6&>~FvFĞ&^&9~Ì~ڹ-F*Ftz8ft F^&8Gui~t F^&8GuWF+F;F| F9Fu~tF@t8F^&8Gt,F+F;F~<.6&>t0^&GĞ&v&@F[FF,6&9~2F^&8Gu FuӋvzvĞ&7X06&?&&DPĞ&&& 26&>|u 46&z66&^&Gȋƻ[؎86&>&I86&&a~t;F*PĞ&&& 46&zF*Pv:6&& ud26&>|u 46&zĞ&&& <6&6&6` P, >6&F&H t8PP  |FPPh P:6&6&6P  |FPPh P*6&>vt BlPP] @6&6&6`Ğ&&& pP B6&R&TĞ&7FD6&FF6& fĞ&7FtH6&&J6&H6&J6&f%=؎L6&FD6&FF6& ^_]ːUVN6&6 &6rP N6&6 &6"P vPrPh P"Ph FPrPXX @uNFP"PXX @uQN6&6 &6"P P6&6(&6&"Ph FP"PXX @uFV9Vvr9Fv~} ~[sPrPC uƆrPrPVj3 6d6brP  udpP~QPVj3 FPF-P86&6&6VP R6&[RPFV-RP ,6&V2 ^]UWV+PP( FVN6&6 &6FP N6&6 &64P PFPh P4Ph FP4PXX @uQN6&6 &64P P6&6(&6&4Ph FP4PXX @u3FV9Vw1r9Fs*FVFV06&X&& FVFVFVPPFPC uP6d6bVh4 pP~QPVh4 3,602&9?~Dv3ɉNރ,.&Gt &u&g[GĞ0&9?ЋvFP[Ğ0&/P86&6&6VW V2 FPFPR ^_]ːUTWVN6&6 &6FP PFPh PFP V t)FPVQpQ~RQx WV ^_]ːU"WVFP( FP0 V<&m&EFT6&F&M FF &EF~,6&F 86&&؉V$6&FN9Nu~t F&u|v&DF&8G tl&G *Fta&G:F t F&D8FuJF&G9F t F&D8Fu0Fw&F;FF&@t+~9~~~[A9N~a~}+FFf~@~F39N86&&>؉V~؃~t Fw&uZFw&*FtJF&F t F&8Eu4Fw&F t F&8EuFw&FF;F}F[A9N~V~t}^_]ːear all searchUWVP V t5P6  u$FPVVP VPƆVPVPh FPVPXX  t$VPP(P P ~WP V u P(P P P-PVP26 FV u$VP0P(P P vvWPvV ;t2VPLP(P vv P vv  t$VPwP(P P F  3RT&7&GLX"3NP&&G&MVv~~؎ZX&&+NjV&&PIuvĞN&F&7&GĞR&&&GÌV&$3& &> & & ߎ&&3&OF&&&ʋH(3JL&&G*3&&F&ʋFPQ" @FĞJ&&?~G~VvN~&&+NjV&&PAĞJ&&9ڋ~v*3&F&7&GĞJ&&@&GF,3&> & M.3& & ^_]ː&u0 U.WV4Z9&3\9&6^9&"`9& b9&r d9&bf9&dh9&fj9&h+ɉNNvvZ RP"Pr QP V^V۹^VNVl9&>nu-n9&X&B&@ "P| 3br QP t~ PvvP t!2PP] p9&tN릐2PP] p9&u, QP2PP] p9&u0 ~+PP( FVP+PP( ȋ+FV~9&&SQvvvVr FV~9&&d3SQRP FVdRPvv FVvvRP<RPSQRPvv⚺ RPFމVT SQvvމFډVܚT <3SQvvF։Vؚ FV؋Nڋ^+SQF҉VԚT +FVRPvvvvvvZ RPn9&X&r&p N~9&pr9^F&?tt9&>vt^&?t;^9&>"u\9&>6u `9&> tPvv^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66 tظ[.ظ&&،F&Gt1&9}&Gع&;z ~36&z F&9G|&F u &>tF&Gu & t~u &>tF&Gt & uPvvP t}pr9^F&?tMt9&>vtAPPv9&68&66`Px9&JPv9&68&66+PP( FVz9&>|u |9&z, QP |%^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66PvvPn9&X&F&D PvvPr9&>ptMt9&>vtAPPv9&68&66`Px9&GPv9&68&66^_]UWV P3Z9&P QP 9+&& ~ u19&9>"t2PP] p9&u |] u9&9&F |#[n9&&@t 9&2P P] =tz9&>|u |9&zr9&>ptt9&>vtT9&>"t2PP] p9&t t3Pt9&N& LtsdP FV|] t6~vv`  u!dP FV] |] u͚] 3P9&6N&6LtmpP FVRP`  tP~|] t@2P P] =t* vv`  t 3b2PP] p9&t;3PN^9&>"u\9&>6u `9&> t N(^_]ːUWV9 &?|%[&/9&&~ڹ-Ğ &?}^9&>"t5~t/F*Pn9&X&N&L F*P3~9&& t1B*PWn9&X&R&P B*PFF;r `9&?u \9&>6t?Ğ &?|5~t/F*Pn9&X&V&T F*PO9&& uĞ&?u\9&>6u^9&>"un9&X&Z&X 9&6&6` P, 9&6&6P Ğ &?|FPPh PPP] n9&X&^&\ 9&6&6`pP 9&R&T3^9&"\9&6Ğ&^_]ːU욀"P9&6&6n9&X&& 9&6&6`嚖t9&>vt9&63P] 9&>Ltr 9&>du.] v ]UVv u3, ȋƙ+T؋ʙùdP ^]ːUWV~9&B&DF&9Eu &9U u&E & Eu 9&&9&6&6KP KP" KF^F9&& u~N؋W&9Du&9T tGG u9&&V uVV‹&?u$~9&>t3"PvW ~^FFG&<u^&7"PvW_9&6&6KP KP" K^9&F&9t&9&>uF&5"PDvP K^_]ːUt9&>vur9&>pu3P, 9&@P"Pr QP PQ9&6&6`r QP9&6&6Z9&@P9&6 "Pr QP PP9&6&6`r QP9&6&6Z9&bF t'P9&6&6"Pr QP $9&6&6 #Pr QP PQ9&6&6`#P9&6&6ZPP9&6&6`r QP9&6&6Z3P9&6^ ]ːt9&>vt&r9&>pt P9&6&6ːU.WV~FL^ }dǹ[FԻ9^֌F&&GtFLBƌ@V~t ‹F& ^&^&GtFF&C~t FF& ^&^&GtFF&D~t FF& ~t$^&^&G@tFF&FFF& ^&^&GtFF&H~t FF& ^&^&GtFF&K~t FF& ^&^&GtyFF&L~ti^&^&GF |@P+# +FP0#PFP FڌҋȎڋ6?t!vNG^F&=uv~~t$^&^&GtFF&MFF& ^&^&GtFF&N~t FF& ^&^&GtFF&S~t FF& ^&^&G tFF&R~t FF& ~t^~&=&At FF&XF&FL^_]ÐUt9&>vur9&>pu9&>u3P9&6+RP9&@P5#Pr QP PQ9&6&6`r QP9&6&6Z PP9&6&6`vv9&6&6ZT]UWV3Pz9`b&?}Tt9&>vuEWĞ`&@PXn9\^&&f&ddP PP9XZ&w&7`dPĞX&w&7ZPĞ`&7‹؋F&?tTPVĞ\&&j&hdP PPĞX&w&7`dPĞX&w&7Z9TV&G& u9&w&7dP A#PdPh PJ#PdP26 V uFPVQQNQ FWV ~uvrĞT&w&7dP M#PdPh 3PdQNQ*6 uqvFP ;PdPFP*6 t@2PPĞX&w&7`Ğ\&&n&lĞX&w&7ZT^_]R$bCLSU.WV4 ع4& &QP( 4+&,&*&(&0&.p4^F&9t&4&9vtotice and authorship remains intact. &?u-~ٹ~t%FFF4&F ~FFFP RP4&6&6 Pr QP r QPB FP RP Pr QP r QPB F ~js)+FFFFFF4^ތF&4&>v% 4^ڌF&4&>x ^&4& 4&9s 4&> t^&3PN։VRQQD~u QPP  tuHtpHtHHtMc uW^&^&ub4&h4&d4&X&& 뤚 u ^&^&u2봎4&h3P4&T4&ht F҉NԐ3^&9?~14&t&4 QPF  uG^&9?ҚHuHuGHtvHu}W4&t ;E2PP] 4&u)FPP 3PvvָP4& u^&^&t4&d4&h4&X&&  u^&^&t밐62PP] 4&u_4&>tPFPP 3PvvָP"2PP] 4&uFFPQ F4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT4&h3PO QPP 4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT4&T4&h QPP 4&^&?tp4&>vtd4&6&6 Pr QP PP4&6&6`r QP4&6&6ZT3P5& 5&b4&d5&f4&hPvvָPf3PvvָPQ^_]WV+ &&r & &6&"&& & ع^_ːUVXP FVRP`  uuv2PP] 4&tY uP2PP]  tFF& t*<t&P]  vv`  t'2PP] :] P ] 3^]ːU(WVb5&?u]v vFVF tHt#HuHuHu)F396F~(D Pv vWd u F;6F|ۋ~F &}t=&u&uvv PbP F &u/ PFP 2vvbP F &u&u8 PFP FLJFĞ&7bPE PP T PP V us5&& tZFLJFbP Ğ&7bPW PP f PP VF u-~ uyP4&X&>&< UFPV FPbPh bPP<  uX9F t!bP4&X&B&@ FDF^FFV ~~ t+v vZ RP4&X&F&D PB >Fuy396F~%D Pv vWd t F;6F|96F/~ u=v vZ RP4&X&J&H~F &}t=&u&uvvi PbP F &uy PFP 2vvbP F &u&u PFP F?t5&6&6bP FPbPh F;6F}rFFFFDFDFF+ƉF~vF^^F^FF F NuFbPB  u$9F ubP4&X&N&L?~ ubP4&X&R&P 5&& uĞ&7P PbP  PbP RP D5&& t-Ğ&7P PbP bPB 3^_]U($ 5^ތF&?u5^ڌF&G& u  t6 6 `  udP   5&bF tP^&w&7 PNFP ^&w&7 PNFP FPNFPXX  uDNFPB ^&74&X&&  5&z^&7]39&RzLxL9&9ptI9&9vt>PP9&6&6`#P9&6&6ZT#P| ] 9&$PP] P u 9&X&N&L 3n9&>ptJ9&>vt>PP9&6&6`#P9&6&6ZT$P| PV39&RzLxL9&9ptH9&9vt=PP9&6&6`&$P9&6&6ZT H$P| :] 9&$PP] 3PN tz9&>ptK9&>vt?PP9&6&6`S$P9&6&6ZTu$P| 3P u4^ːUWV9& & VȋڀFV$PSQ $PvW QPr9&QPZ RP$P 9&QPZ RPvW'3FF9&9~Q~9&9>t,$PvvPVZ RPvv G9&9>~$PvW89^F+&G&9Ft QP: '~uZzL0QP: ~9^&G& t-P&w&7vv< ^&GSvW%$PvW~t)9&>^u9&>`t$6$1$+9&t$PvW9&u$PvW$PvW9&> بt+& ~u:& #Ft&ِFtvt &6 بt$`~t6t$PvWt$PvWƨt3$"t$t$ ƨt$PvW9&t~t9&>zu$PvW$PvW$PvWw$PvWh9&>ju9&X&&$ډFVRP9&69&6$PP%Pvv vvvW%PvW9&6&69&6&6:&6&6#%Pvv vvvWB:&6&6:&6&6:&6&60%Pvv vvvW=%PvWD:&&&(0T|RPE%Pvv vvvW vW" 9&$PP] FpP FVv~vvO%PvV vV" PvVj! FPQ\%QJ] PvV" PvVJ] PvvvJ] F~~;~v^^؋NJ*3QNJ*&3ZF;v|։~v] v_%PvV PvV" PvVJ] FF=vP FVvv`  t 2PP]  :&uvv`  t|] u t 3P( -*ui%PvV vV2 ui6`#6^#vVF  uN6p#6n#vvF  t~9&X&&e%PFPW ƋFv2PP] 9&X&&V\2PP]  :&u9&X&&ˎ9&X&&k%PFPV NjFvW 3^_]U WVFdžPƆ{dž8o%:dždž@~%BdžD%FdžH%J+NL9& & vx~prt89 +&G&n9&9ptH9&9vt=PP9&6&6`%P9&6&6ZT %P| T :&P FVpP FV+FF{{<vv~uZ6`#6^#%P~V P~V" P~VJ] 3.01 What documentation exists for filter? 3.02 What do I need to get filter working? 3.03 How can I tell if my system understands .forward files? 3.04 What do I put in my .forward file? 3.05 What is the simples filter-rules file I can write to test filter? 3.06 How do I check my filter-rules for typos and other errors? 3.07 Why doesn't the output from filter -r match my filter-rules file? 3.08 Can I have 'or' in my filter-rules? 3.09 Can I make filter execute more than one rule for a message? 3.10 How do I do multiple actions for one rule? 3.11 What headers are available in the filter-rules? 3.12 How do I forward mail to an elm alias from filter? 3.13 Filter executes my script but the script doesn't work. 3.14 How do I capture the message fed to a script by execute/executec 3.15 Both execute and executec feeds the message as standard input to 3.16 What if I what to do something based on the contents of a message 3.17 How can I make filter operate on all messages in a folder? 3.18 Can I use filter to automatically answer my mail (like vacation)? 3.19 My filter doesn't recognize executec/matches. 3.20 Filter sometimes munges up my folders, or looses messages. Why? 3.21 Why doesn't elm mark mail I saved in a folder with filter as new (N)? 3.22 Why does filter join adjacent messages together? 3.23 What other mail filter programs exists? 3.24 554 "|/usr/local/bin/filter"... unknown mailer error 3.25 My filter doesn't work. I set it up correctly, but nothing happens. 3.26 How to (b)ounce from filter, instead of (f)orwarding ? 3.27 If I use filter, all incoming mail disappears. Why ? 1.0 Operational Answers --------------------------- 1.01 What is Elm? From Elm documentation: Currently on Unix, there seems to be a preponderence of line-oriented software. This is most unfortunate as most of the software on Unix tends to be pretty darn hard to use! I believe that there is more than a slight correlation between the two, and, since I was myself having problems using "mailx" with high-volume mail, I created a new mail system. In the lingo of the mail guru, Elm is a "User Agent" system, it's designed to run with "sendmail" or "/bin/rmail" or any other UNIX Mail Transport Agent (according to what's on your system) and is a full replacement of programs like "/bin/mail" and "mailx". The system is more than just a single program, however, and includes programs like "frm" to list a 'table of contents' of your mail and "printmail" to quickly paginate mail files (to allow 'clean' printouts). 1.02 Which is Elm current version? Elm current version is 2.4 PatchLevel (PL) 23. New release should be 3.0, scheduled some time in 1994. 1.03 Where can I find the distribution? There's a list of sites distributing Elm at the bottom of this file (4.* Archivers, what they archive, how to download.). In addition, new releases will be posted to comp.sources.unix, patches will be posted to comp.sources.bugs. After patches have been proven and out for a while, they will be posted to comp.sources.unix. Elm portings or clones for DOS, Windows and OS/2 are available as listed below: DOS/WINDOWS: * Peter Churchyard (pjc@cc.ic.ac.uk): Elm-PC, a version I ported, is available by anon ftp from lister.cc.ic.ac.uk:/pub/elm-pc. A Windows version is available, too, in: /pub/winelm. * Mike O'Connor (mjo@msen.com): There is a package called PC-Elm that's an imitation of Elm (i.e. it didn't come hy? 1.21 Sometimes Elm (PL < 21) seems to join two messages in one. Why? 1.22 How can ELM be used for an automatic reply? 1.23 How to list your mail from the oldest to the newest? 1.24 How to use elmheaders file? 1.25 How to change the fullname in sent mail ? 1.26 "Alias too long" or string too long errors. 1.27 How to crypt mail in elm ? 1.28 8 bit characters configuration? 1.29 Sun mailtool attachments and elm? 1.30 How can I save outgoing mail ? 1.31 Can I get an automatic receipt when my message is actually read? 1.32 Get a copy of message(s) into the edit buffer when composing a reply? 1.33 How can I print in Elm ? 1.34 How can I get a complete elmrc file ? 1.35 How can I change a configuration setting for all of my users? 1.36 What do `Priority, Expires and Action' headers mean? 1.37 What does the `Precedence' header mean? 1.38 How can I get a `Reply-To' header in all of my messages? 1.39 ti/te strings for the xterm in termcap are wrong. 1.40 Can I edit and forward without having the prefix (>) added 1.41 Can I take an addres from a message and put it in the aliases list? 1.42 sendmail 565c+IDA + Elm = SEGV. Why ? 1.43 Can ELM use MH-style inboxes? 1.44 How can I enter a message that is in a folder into a message ? 1.45 I get my NIS/YP domainname appended to local mails. Why? 1.46 How can I include a file in a header ? And a quote ? 1.47 How can I build an alias containig "=" ? 1.48 What's aliases limit ? # of aliases ? total lenght ? 1.49 How can I change the editor ? 1.50 How do I include a file in a mail message ? 1.51 Which are the (s)ave abbreviations ? 1.52 Why do I get "folder corrupt" messages ? 1.53 How to know how may news messages arrived, without entering Elm ? 2.0 Installation Questions 2.01 On SCO Xenix, all mail is from user anonymous. Why? 2.02 Elm doesn't work on Next. Why? 2.03 Compiling with Microsoft UNIX C Compilers won't work. Why? 2.04 Various problems on Unix 286. 2.05 Configure won't run on HP-UX. Why? 2.06 Configure won't run on SCO XENIX 2.2.1. Why? 2.07 Will Elm work on SGI Indigo? 2.08 I have problems compiling elm2.4 on HP/Apollo 2.09 I have problems compiling elm2.4 on IBM AIX 2.10 Compiling elm 2.4 under NS 3.0 2.11 Elm sends 'empty mail' on 386BSD: why? 2.12 Why can't I get SGI to work for non ROOT? 2.13 I have problems p)rinting messages in 2.4PL20 2.14 Elm2.4 PL20 - 'x' key causes segmentation violation 2.15 readmsg:illegal option -- I. Why? 2.16 Forms don't work. Why? 2.17 ELM does not recognize VMS mail. Why? 2.18 Huge headers cause Memory Fault. Why? 2.19 Can I use elm for posting and replying to news? 2.20 Compile fails on lib/strftime.c [PL23]. 2.21 Compile error on SGI Crimson. 2.22 Problem compiling elm on DEC Alpha, OSF/1 v.1.2 2.23 I can't build Elm 2.4PL23 on Sun 386i SunOS 4.0.2 2.24 How can I override a Configure's setup ? 2.25 How to solve hdrs/mcprt.h problems with Sequent/PTX 2 ? 3.0 Filter Questions This part is maintained by Jan Djarv (Jan.Djarv@sa.erisoft.se) nique file name. Invoke it like this: "unpack < foldername" I guess tagging and piping should work with it too. (Ask Steve Faiwiszewski for unpack source.) 1.15 Is there any way to bounce all the tagged messages with ONE command ? Chip Rosenthal (chip@chinacat.unicom.com): Save the following to a script in your personal bin directory, say `bounce': : use /bin/sh : ${ELMSTATE?} ${1?} sed -n -e 's/^S//p' $ELMSTATE | while read mssgno ; do echo "Bouncing message $mssgno to $@ . . ." readmsg -a $mssgno | rmail $@ done When you run: !bounce addr ... then all of the tagged messages will be bounced to the indicated address(es). If no messages are tagged, then the currently selected message will be bounced. 1.16 Does ELM have MIME (metamail) support? MIME allows for sending and receiving of messages compliant to the Multipurpose Internet Mail Extension (RFC 1341). MIME provides a way to attach binary, graphic, audio, video, postscript and other files. It doesn't necessarily need graphics capabilities on your display, but its useful. If you have installed Nathaniel Borenstein's metamail package for displaying MIME messages, Elm can make use of it. If you didn't have metamail installed you might want to obtain a copy of it. The most recent version is on thumper.bellcore.com [128.96.41.1]: /pub/nsb/mm2.6.tar.Z . Compiling of Elm even with MIME support enabled would not depend on the metamail package. But you would not be able to use nearly all of the MIME features as long as you don't have metamail installed. Metamail with its companion programs (mmencode) must be installed somewhere in the search path, usually /usr/local/bin. Andrew Cagney did a lot of work to use ELm with MIME. Send mail to acagney@macadam.mpce.mq.edu.au for details. 1.17 How not to include headers in outward bound mail? Problem: all outward bound mail still includes the following lines, even if I have the "noheader = ON" line in my .elmrc: X-Mailer: ELM [version 2.4 PL21] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 67 Syd Weinstein (syd@Myxa.com): "noheader = ON" means when the message is copied into the buffer for a reply or forward. The "X-Mailer:" header is controlled at Configure time. There is a compile time option to produce or not produce it. The three "Content-*" headers are always going to be produced by 2.4. 1.18 Is it possible to save mail messages without the headers? * Chip Rosenthal (chip@chinacat.unicom.com): Use: !readmsg -n >filename If you want to save a few keystrokes, you can encapsulate this in a shell script to go in your personal bin directory. * Syd Weinstein (syd@Myxa.com): Note that some of the newer features of readmsg are only available in later 2.4 releases 1.19 How do I upgrade my ELM aliases from 2.3 to 2.4PL23 ? Syd Weinstein (syd@Myxa.com): All I did, was make sure 2.4 as installed, and then had each user run newalias and I ran newalias -g. The aliases.text file is upwards compatible. The old newalias converted aliases.text to aliases.data and aliases.hash the 2.4 newalias converts aliases.text to aliases, aliases.dir and aliases.pag. If you don't have those three new files, you didn't install 2.4 correctly and are still running 2.3's newalias. 1.20 Elm seems to ignore HOME environment variable. Why? Syd Weinstein (syd@Myxa.com): This is a feature. Elm ignores $HOME, so that when su'd you read the right mail file. Its a choice of one or the other and we chose to allow su over $HOME. 1.21 Sometimes Elm (PL < 21) seems to join two messages in one. Why? Syd Weinstein (syd@Myxa.com): Early versions of Elm 2.4 had a problem with messages with bad content length headers. I'd update to a more recent version when 21 comes out in a bit. Compiler's Note: now PL 23 is out. I chose to report this Question as it is so a strange behaviour (mail still reads the mailbox correctly) a person can get mad about it :) 1.22 How can ELM be used for an automatic reply? It cannot. Autoreply is no longer supprorted and MUST be removed from you system. You can try and use filter, but it's better looking for some other utility. 1.23 How to list your mail from the oldest to the newest? Arnaud Girsch (Arnaud.Girsch@INSA-Lyon.FR): You can change the sortby= in your .elm/elmrc file, or change in menu (O)ption, and then (S)orting criteria .... It allows you to choose lots of different order .. and you can choose whatever you want 1.24 How to use elmheaders file? * Arnaud Girsch (Arnaud.Girsch@INSA-Lyon.FR): You only have to create a file named elmheaders, a text file where you put all the lines you want to be seen in the header ! If you redefine an existing header, it'll take it's place. Example: if you want to redefine your Reply-To: header, just create the file with the first line: Reply-To: myaddress@node.domain.country * Please also note that elmheaders file is NOT processed. It's appended as it is, with the exception of quoted shell escapes. Hence, a Bcc: will not work, but a Return-Reply-To will, as the latter is processed by the *receiving* MTA. 1.25 How to change the fullname in sent mail ? 1) use the "fullname" option; 2) set the NAME environment variable. 2) is useful if you want to change your name for a mail only, without editing your elmrc file. Note that you might not be able to change fulname at all. If your Elm is configured with DONT_ADD_FROM enabled (run `elm -v' to see if it is), then Elm is *not* adding the From: line. The low-level mail transport is. If this is the case (and it commonly is) you'll have to ask your local administrator how to do it. (If you have a `chfn' command that might do it.) 1.26 "Alias too long" or string too long errors. Errors are to be expected when trying to expand very long aliases, mailing lists, and so on. This error is due to the fixed lenght strings in Elm 2.xx, and will not be fixed until 3.xx is released. 1.27 How to crypt mail in elm ? Sven Guckes (guckes@math.fu-berlin.de): You need these two "keylines": [encode] and [clear] Just put your top secret messages in between these two lines. See the "ELM Reference Guide", "5. Special Outgoing Mail Processing" for an example. For all folks outside the US I might quote that little footnote: "Unfortunately, at many non-US sites, it's quite probable that you won't be able to use this feature since you won't have the crypt() library available due to licensing restrictions." 1.28 8 bit characters configuration? Hakan Sjogren (hakan@Sweden.Prime.COM) reports both the problem and the solution: PROBLEM: When receiving mails having swedish characters the display of these national characters on the terminal are wrong when using ELM. If I add the line Content-type: text/plain charset=iso-8859-1 into this received mail, ELM displays correctly. Since this is a normal situation I would assume ELM to display full 8bit characters if the mail bandwith is set to 8bit. SOLUTION: The solution to this problem was to set the environment variable LC_CTYPE=iso_8859_1 . 1.29 Sun mailtool attachments and elm? Kurt Swanson (kurt@dna.lth.se): > Has anyone hacked elm to support the Sun attachment > style in the Openwindow's Mailtool? This is handled by metamail, not well, unfortunately, but handled that way in any case... 1.30 How can I save outgoing mail ? Set the following in your elmrc file: # save a copy of all outbound messages? copy = ON # save outbound messages by login name of sender/recipient even if the # associated folder doesn't already exist? forcename = OFF # save messages, incoming and outbound, by login name of # sender/recipient? savename = ON # where to save copies of outgoing mail to, default file is "=sent" sentmail = ~/Mail/Spedita/sent 1.31 Can I get an automatic receipt when my message is actually read? * Chip Rosenthal (chip@chinacat.Unicom.COM): With Elm, you cannot. Many people consider this an intrusion of privacy, not a feature. 1.32 Get a copy of message(s) into the edit buffer when composing a reply? * Chip Rosenthal (chip@chinacat.Unicom.COM): Use the `readmsg' command. 1.33 How can I print in Elm ? * Chip Rosenthal (chip@chinacat.Unicom.COM): First thing you need to do is change the default print command Elm gives you. The compiled-in default of "cat %s | lp" is obsolete. Simply use "lp" (or whatever) as your print command. This will pipe the message directly into the print command, and it will leave stdout/stderr of the print command attached to your terminal. That means that pass-through printing will work. That means problems and error messages will be displayed. Making this change might fix the problems you are having. Even if it doesn't fix them, at least now you'll be able to see the error diagnostics rather than the mysterious `Printout failed' message. 1.34 How can I get a complete elmrc file ? From inside ELm, type 'o' (Options) then '>' (Save). This will create a complete elmrc file, with all options and lots of comments. Remember that a leading "#" on a line denotes a comment. Hence a line with leadin "###" is ALSO a comment. 1.35 How can I change a configuration setting for all of my users? * Chip Rosenthal (chip@chinacat.Unicom.COM): By creating a global elmrc file. Copy your personal elmrc file to $libdir/elm.rc, where $libdir is the Elm library directory that holds the help files and other such things. Edit that file. The values it provides will override the compiled-in defaults. 1.36 What do `Priority, Expires and Action' headers mean? * Chip Rosenthal (chip@chinacat.Unicom.COM): Not a whole hell of a lot. These are Elm-isms. Priority: If you put a value in this header, *any* value other than `normal' or `non-urgent', then Elm will put a `U' on the index screen to note the message as urgent. Expires: You can specify an interval up to 8 weeks from now (e.g. `7 days'). When that date has been passed, Elm will put a `E' on the index screen to note the message as expired. Action: You can use this header to specify some action for the recipient to take, and Elm will do absolutely nothing with it. 1.37 What does the `Precedence' header mean? * Chip Rosenthal (chip@chinacat.Unicom.COM): This is *not* an Elm-ism. It is a sendmail-ism. :-) It allows you to specify handling instructions for the mail transport. If you have to ask this question -- you don't want to mess with it. 1.38 How can I get a `Reply-To' header in all of my messages? * Chip Rosenthal (chip@chinacat.Unicom.COM): Create a file called ~/.elm/elmheaders that contains the single line: Reply-To: joe@AcmeWidgets.COM The contents of this file are slapped onto the end of the headers that Elm generates for an outgoing message. 1.39 ti/te strings for the xterm in termcap are wrong. * David W Sanderson (dws@ssec.wisc.edu): Whoever wrote the default termcap and/or terminfo descriptions for xterm included in the ti/te strings the special escape sequences to make xterm switch between the normal and alternate screen buffers. These sequences are: \E[?47h - use alternate screen buffer \E[?47l - use normal screen buffer The elm code is just fine as it is. If you change it so that it doesn't ever send ti/te, you'll just break elm for somebody else. Fix your termcap/terminfo definition instead. If this won't work, * Neil Weisenfeld (weisen@alw.nih.gov): change usetite in your .elmrc file to: usetite = OFF 1.40 Can I edit and forward without having the prefix (>) added to the mail body? Forward the mail, answering NO at the edit? question. Then, in the send menu, instead of s)ending it, e)dit it. 1.41 Can I take an addres from a message and put it in the aliases list? David W. Tamkin (dattier@Mcs.Com): Return to the index screen, make sure the pointer or bar is on a letter from that person, and press "a" twice. The first "a" puts you into the alias subsystem and the second says to create an alias for the sender of the current letter. 1.42 sendmail 565c+IDA + Elm = SEGV. Why ? * Paul Pomes (paul@uxc.cso.uiuc.edu): Either fix your Elm to use correct GMT offsets or apply the following patch from Mike Park . *** 5.11.0.16 1992/08/26 22:06:32 --- arpadate.c 1993/03/10 21:38:23 *************** *** 423,428 **** --- 423,440 ---- #endif /* LOG */ return(NULL); } + + /* + * Some buggy mailers (ie elm 2.4.p13) can produce huge incorrect + * offsets. Applying these offsets can cause the static array + * used by gmtime to be overrun on a NeXT OS3.0 causing sendmail + * to SEGV. + * Limit offsets to be +- 24 hours. + */ + if (h_offset < -24) + h_offset = -24; + if (h_offset > 24) + h_offset = 24; /* is the year a leap year? */ if ((tm.tm_year % 4 == 0) && 1.43 Can ELM use MH-style inboxes? * Steve Simmons (scs@lokkur.dexter.mi.us): Elm does not currently do this. It has been suggsted for Elm 3.0, but 3.0 is off in the mists of the far future. 1.44 How can I enter a message that is in a folder into a message ? * Syd Weinstein (syd@Myxa.com): Just use the readmsg command. It is the external command that does the same thing as ~m, and it understands the current mailbox sort order, just like ~m. From vi, I would put the cursor on the line I want to repalce with the message and say "!!readmsg". 1.45 I get my NIS/YP domainname appended to local mails. Why? * Dave Wolfe (dwolfe@pffft.sps.mot.com): You have to run Configure again, and say NO to the question: Should getdomainname() be used to obtain the mail domain? This is because when the getdomainname() system call is found, and you run NIS, getdomainname() usually returns the NIS domain and not the mail domain. The domain name should be compiled into the code. If the getdomainname call does return the correct mail domain, it can be used. 1.46 How can I include a file in a header ? And a quote ? The elmheaders file allows the inclusion of the output of a command which is run each time Elm reads elmheaders. This is useful for a header which changes its contents, like a fortune output. Unfortunately, if a header cointains "`", Elm tryes to execute what follows. The workaround is: save the offending text in a file, then include it like follows: X-Foo: `cat /path/to/file` 1.47 How can I build an alias containig "=" ? Quote it. i.e. : "foo=bar"@net.org 1.48 What's aliases limit ? # of aliases ? total lenght ? Aliases are limited by lenght. It's 5120 chars. 1.49 How can I change the editor ? In your elmrc file set editor=/path/to/editor 1.50 How do I include a file in a mail message ? 1) Normal plain text file: see your editor's man page. In vi, :r /path/to/file 2) executable or non-printable file: see man uuencode. Then as 1) 3) MIME-recognized file (gif, Postscript, ...): [include /path/to/file type encoding]. Examples: [include /path/to/file.gif image/gif base64] [include /path/to/file.ps application/postscript] See also MIME documentation. 1.51 Which are the (s)ave abbreviations ? * David W. Tamkin (dattier@MCS.COM): For saving to a folder, Copying to a folder, or changing folders [or naming a folder on the command line as an argument to Elm's -f option], Elm accepts several abbreviations: ! folder named in your $MAIL variable; default: your mail spool > receivedmail folder named in your .elm/elmrc; default: $maildir/received < sentmail folder named in your .elm/elmrc; default: $maildir/sent =filename $maildir/filename +filename $maildir/filename [useful on the shell command line, where an equal sign could confuse the shell] @aliasname folder in your $maildir directory named for the real logname behind alias "aliasname" 1.52 Why do I get "folder corrupt" messages ? * Peter Churchyard (pjc@cc.ic.ac.uk): If your folder (/usr/spool/mail/) starts with a line of ^A^A^A^A and not 'From username', then you need to configure Elm to use MMDF style message seperator lines. 1.53 How to know how may news messages arrived, without entering Elm ? * Chip Rosenthal (chip@chinacat.unicom.com): frm -S -q -s new 2.0 Installation Answers ---------------------------- 2.01 On SCO Xenix, all mail is from user anonymous. Why? From Elm README: On SCO Xenix, if you are all mail is from user anonymous, this is because the mail delivery agent should be /usr/lib/mail/execmail instead of /usr/bin/rmail or /bin/rmail. 2.02 Elm doesn't work on Next. Why? The complete NeXT document by anderson@macc.wisc.edu is available via anon ftp from: yak.macc.wisc.edu [144.92.30.18] and ghost.dsi.unimi.it:/pub/Elm/Next.Z 2.03 Compiling with Microsoft UNIX C Compilers won't work. Why? Thomas Bullinger (mrbulli@btoy1.rochester.ny.us): On many systems with the Microsoft UNIX C Compilers (such as SCO), compiling with optimization breaks the code. One symptom is that aliases do not work. On those machines do not compile any of Elm with optimizations. To accomplish that, set all occurences of "OPTIMZE" in the makefiles to "-Od" - then it works. Another possibility is to use gcc instead (my current version [PL23] is compiled with gcc [2.4.5] on SCO Unix [3.2.2] without modifications and runs perfectly). 2.04 Various problems on Unix 286. From Elm README: On some systems, especially those based on the AT&T Port to 286's the -O flag of the compiler produces improper code causing segmentation violations. If this happens, recompile the code without the -O flag. This has been seen with Microport SysV/AT type systems. The Configuration script has been known to exceed the default stack size in Unix 286 sh's. If Configure does not run correctly on this type of machine increase the stack size and rerun it. On Microport SysV/AT machines, Configure might run correctly under ksh. Obtain ksh from Microport (available to current version owners without additional charge) and rerun Configure using it. Also on Microport SysV/AT Machines, the C compiler produces improper code for one of the arithmetic calls. To fix this problem it is necessary to reduce the complexity of the statement, as reported by one of our testers here is the symptom and his patch. Being this is a compiler bug on only one system, we make the information available, but not incorporate it in the main release. Note, this may effect other areas of Elm, and in the future, Microport may even fix this problem. [Read the README file for the patches] 2.05 Configure won't run on HP-UX. Why? From Elm README: The Configuration script has been known to exercise an old bug on HP-UX's version of /bin/sh. This shows up as part of the variable setting section showing up on your screen, and configure aborting on errors. If this happens, try using ksh instead of sh as in: ksh Configure this will usually solve the problem. 2.06 Configure won't run on SCO XENIX 2.2.1. Why? Keith Brazington (keith@g4lzv.co.uk): The solution is simple, up the stack size for /bin/sh. I used # mv /bin/sh /bin/sh.old # cp /bin/sh.old /bin/sh # fixhdr -F 8000 /bin/sh This may seem a bit over the top, but I put it back after! 2.07 Will Elm work on SGI Indigo? Syd Weinstein (syd@Myxa.com): Well, I had no problems at all configuring and running Elm on my SGI Iris under 4.0.5. The biggie for SGI is to say Elm is a non ansi application, so you need to list -cckr as an additional compilation flag. I took all the defaults from configure and it ran just fine. 2.08 I have problems compiling elm2.4 on HP/Apollo * Gordon D. Berkley (gordonb@mcil.comm.mot.com): As of ELM2.4pl17, The system compiles cleanly (?) for Apollo. This patch level includes many "fixes" that I submitted to ensure this. There *are* many compilor warnings, but they can safely be ignored. I would suggest discarding any config.sh from a previous Configure, though, as this will cause the corrections to NOT work. In order to ensure compilation, please be sure to compile with SYSTYPE set to "sys5" rather than "bsd". 2.09 I have problems compiling elm2.4 on IBM AIX * Steve Adams (adams@spss.com): >I am trying to compile the latest and greatest version of ELM on my >RS/6000 running 3.2.? (exact level unclear). I received the following >error messages about setgid being redefined: > >"init.c", line 128.16: 1506-132 (S) Function getgid cannot be >redeclared. >"init.c", line 128.26: 1506-132 (S) Function getuid cannot be >redeclared. You can get around the problem defining -U__STR__ during 'Configure' It will be fixed in PL22. * From the monthly posting: This version of Elm 2.4 should not require any changes to the configure run to link under AIX 3.2 or newer. On IBM RISC 6000 AIX, prior to 3.2, you might get string function errors on the compile. The solution is to do the following: Look at /usr/lpp/bos/bsdsport. It tells you to add following lines to /etc/xlc.cfg: * BSD 4.3 c compiler stanza bsdcc: use = DEFLT crt = /lib/crt0.o mcrt = /lib/mcrt0.o gcrt = /lib/gcrt0.o libraries = -lbsd, -lc proflibs = -L/lib/profiled,-L/usr/lib/profiled options = -H512,-T512, -qlanglvl=extended, -qnoro, -D_BSD, -D_NONSTD_TYPES, -D_NO And then link bsdcc to xlc and use bsdcc instead of cc. In addition, Elm should be linked with the curses lib and not termcap lib if /etc/termcap is not there. (You can always copy the termcap database to etc (or make a symlink)). 2.10 Compiling elm 2.4 under NS 3.0 Paul Terray (popaul@binkley.cs.mcgill.ca): Check if fcntl.h is included somewhere (as it probably is). It contains most of the declaration the program are looking for. If not, include it. Then, just comment the include line for unistd.h. 2.11 Elm sends 'empty mail' on 386BSD: why? * From the monthly posting: On 386bsd, the shell that is shipped with the system, ash, does not work for sending messages within Elm. Mail messages have headers only and no body. Replacing the shell with bash (from GNU) seems to solve the problem. The bash shell is in the 'etc' distribution of 386BSD. * If you upgrade to current version, this should happen no more. 2.12 Why can't I get SGI to work for non ROOT? From the monthly posting: SGI, at 3.3, doesn't have vfork, but instead a stub that does not work. Make sure vfork is undef in the configuration. 2.13 I have problems p)rinting messages in 2.4PL20 When I try and print a message, I get "readmsg: Cannot find start of selected message". Why? Chip Rosenthal (chip@chinacat.Unicom.COM): Please take a look at the From_ line of the message you are trying to print. I'm going to guess that it has a complex address, maybe with some quoting or special characters, or maybe a strange date syntax. The utilities in the current Elm release (including `readmsg') use very simpleminded routines to crack the From_ lines. Some headers that Elm handles fine confuse these utilities. One of the larger changes in the next Elm update will be moving all of the From_ and ~Date: processing out of the main Elm code and into the library, so the utilities (including `readmsg') will use the same algorithms as Elm. If you look at the From_ line and it doesn't seem particularly unusual, feel free to drop me a line. Most of the changes to readmsg and Elm printing came from my hands, and I'm working on the aforementioned changes too. If there is something else broke in there, I'd be glad to look at it. 2.14 Elm2.4 PL20 - 'x' key causes segmentation violation Nigel Metheringham (nigelm@ohm.york.ac.uk): in the file src/exitprog.c, there is a line char *msg, answer; replace it with char msg[SLEN], answer; 2.15 readmsg:illegal option -- I. Why? Chip Rosenthal (chip@chinacat.Unicom.COM): It means you installed an updated `elm' binary but continue to use an old version of `readmsg'. 2.16 Forms don't work. Why? Syd Weinstein (syd@Myxa.com): If you have `forms = ON' in elmrc, Forms is there, but the menu items to make a form require that user level be set off beginner. (anything but 0 (beginner)) 2.17 ELM does not recognize VMS mail. Why? * This is fixed in Pl22. * Syd Weinstein (syd@Myxa.com): Looks to me like you found a bug in Elm's quote parsing routines. It just needs to be looked into. Reported from: Steen Hammerum (kel2sh@uts.uni-c.dk) 2.18 Huge headers cause Memory Fault. Why? Syd Weinstein (syd@Myxa.com): Any part of Elm at the 2.x level will abort if given a header line that is too long. It uses fixed length buffers, and at some point they overflow, and none too gracefully. 3.x will support dynamic strings to solve this problem. 2.19 Can I use elm for posting and replying to news? * Andreas Spiegl (spiegl@cs.utexas.edu): In order to set things up so elm is your mailer when you respond r or R to a news article in rn or trn, define an environment variable RNINIT that points to an initialization file for rn/trn. E.g. .rnrc Then put the following line in this file (.rnrc): -EMAILPOSTER="elm -i %h -s \"Re: %S\" %t" This is from now on telling rn to start elm with the appropriate parameters whenever you reply to an article and works great. But: --> This is not for followup postings on the usenet! <-- If you want to use elm in order to post article, you'd need a line with -ENEWSPOSTER instead of -EMAILPOSTER. Then you would tell elm (once it was evoked by rn/trn) that you want to send this to newsgroupname-with-dashes-instead-of-dots@cs.utexas.edu, for example use "comp-mail-misc@cs.utexas.edu". This will post your email message to the usenet. This is not very convenient though, as you have to convert the address manually. Unless you write a nice script for it, of course. Be sure to send me a copy if you do. :-) * Mike O'Connor (mjo@iao.ford.com): Of course, the DEC gateway allows one to gateway email to Usenet with email addresses of the following format: comp.mail.misc.usenet@decwrl.dec.com and has the additional advantage that they carry a LOT of the regional newsgroups. I still think piping it to sendmail with a macro for R is the way to go. This allows you to use the mailer of your choice, be it elm or pine or Berkeley Mail or Z-Mail or whatever. This gets it into your /usr/spool/mail or /usr/mail or /var/mail or wherever. * Robert Nicholson (robert@steffi.demon.co.uk) The objective was to be able to use elm for all news contributions, reply/followup. This way I can then store my postings and replies in =sent or filter based on Subject: and store them in a separate folder. For Replies I added the following to .zshenv: export MAILPOSTER="elm -i %h -s \"Re: %S\" %t" This invokes elm for replies within trn. For Followups it's a bit more involved. Now I didn't like the idea of relying on mail2news gateways in order to post news. So I chose to set up an alias to handle postings: export NEWSPOSTER="elm -i %h -s \"Usenet News Post\n\n\" usenetnews" The postings go to the usenetnews (as opposed to usenet) alias. This gets processed in procmail thus. :0b * ^TOusenetnews | sed -n '/Newsgroups/,$p' | /usr/local/news/inews -h 2.20 Compile fails on lib/strftime.c [PL23]. * Chip Rosenthal (chip@chinacat.Unicom.COM): A bug was introduced at PL23 that causes the compile to fail on pre-ANSI systems. Change line 114 from "# define P_(x) /**/" to "# define P_(x) ()". 2.21 Compile error on SGI Crimson. Error: cc -O -I../hdrs -c opt_utils.c accom: Warning 294: opt_utils.c, line 171: Function getpwuid has prototyped and non-prototyped declarations. Default promotion of non-prototype form of argument 1 does not match prototype: prototype: unsigned short is different from actual: int * Spencer Sun (spencer@der.Princeton.EDU): in Configure, tell it to use the -cckr flag for cc. 2.22 Problem compiling elm on DEC Alpha, OSF/1 v.1.2 Error: getarpdate.c, line 110: redeclaration of 'timezone'; * Eiji Hirai (hirai@cc.swarthmore.edu): This is fixed in elm 2.4p23 ; I think By the way, you should most definitely upgrade to DEC OSF/1 1.3. It fixes a tremendous number of bugs from 1.2. Do it NOW! :-) 2.23 I can't build Elm 2.4PL23 on Sun 386i SunOS 4.0.2 * Sydney Weinstein (syd@Myxa.com): known bug, will be fixed in Patch 24, but its an easy one: in lib/strftime.c, there is a bug in the prototyping macro, it currently reads: #if ANSI_C # define P_(x) x #else # define P_(x) /**/ # define const /**/ #endif and the relevant line needs to read # define P_(x) (/**/) thats it. 2.24 How can I override a Configure's setup ? If you know what Configure makes wrong before running it, then create a file "config.over" with your own choices. If you don't know it, manually edit Configure output. 2.25 How to solve hdrs/mcprt.h problems with Sequent/PTX 2 ? Alan Thew (Alan.Thew@liverpool.ac.uk) reports the following: >PTX 2.0x does not like the code in this header file. > > cc -Xo -O -I../hdrs -c mcprt.c >"../hdrs/mcprt.h", line 52: syntax error >"../hdrs/mcprt.h", line 53: syntax error >"../hdrs/mcprt.h", line 53: incomplete or misplaced function definition >extern int MCprintf(char *fmt, ...); <----- * Chip Rosenthal (chip@chinacat.Unicom.COM) says: The first question is does your system truly support the ANSI facility, or does it use the traditional Unix ? If the first case is true, then your compiler has botched the implementation for specifying prototypes for variable-argument procedures. It's possible. I know of at least one compiler that was done while the ANSI spec was still in development, and used an unadorned comma at the end of the parameter list to prototype varargs routines. In this case, you'll need to edit the function declarations in mcprt.h Maybe just deleting the "..." ellipses will work. (It would with the aforementioned compiler.) Maybe you'll have to scrap the prototype by removing everything between the parens. If the second case is true, then Configure made a boo-boo. It saw a file and decided to use that. If this was the wrong thing to do, then you can override Configure by creating a file called "config.over" with a single line saying: i_stdarg='undef' Then run "Configure -d" to rebuild things and re-make. * I'll give you the right answer as soon as Alan Thew will tell me how did he solve this problem. 3.0 Filter Answers ---------------------- This part is maintained by Jan Djarv (Jan.Djarv@sa.erisoft.se) 3.01 What documentation exists for filter? Besides the man-page (which is rather brief) there is the `Elm Filter System Guide' (doc/Filter.guid in the elm distribution). A PostScript version is available on dsinc.Myxa.com. 3.02 What do I need to get filter working? You need a MTA (Mail Transport Agent) that reads .forward files AND let's you mail to a program. A .forward file is put in your home directory, where it is read by your MTA. It is here you tell your MTA to pipe the messages to filter instead of putting it in your mailbox. 3.03 How can I tell if my system understands .forward files? This usually works: Make a .forward file in your home directory with the following contents: \userid, "|/bin/cat - > /your/home/directory/forward.test 2>&1" where userid is your username and /your/home/directory is the full path to your home directory. The \ is there to avoid infinite recursion (i.e. if it wasn't there, the MTA would read your .forward again, and see userid a second time, and read your .forward again and on and on ...) Then mail yourself a message. If all goes well you should have 1. A message in your incoming mailbox. 2. A file forward.test that contains the same message as in 1. If you get 1 but not 2, it is possible that your MTA doesn't support mailing to programs. Take it up with your system administrator. It might also be the case that your MTA has another syntax for mailing to programs. 3.04 What do I put in my .forward file? "|/full/path/to/filter -vo /some/unique/file" (note the placements of the quotes, this is for sendmail at least, there are possibly other MTA:s out there that want's it different. Try finding a manual if the above doesn't work). Always use the full path to filter. Your MTA probably has a different PATH than the one you have. Also you should personalize your line by for instance redirect the errors of filter (that's what -o does, -v just makes the errors a bit more verbose) to a file that is unique on your system. /tmp/filter.userid (userid == your user name) usually does it. * Syd Weinstein (syd@Myxa.com) explains why your line should be personalized: Its not a bug, but a feature of sendmail. Sendmail prevents duplicate deliveries to addresses, so a message sent to "a, b, a, b, c" would be delivered to "a, b, c", but only one copy to a and b. Sendmail does this by sorting and 'uniq'ing the list of addresses. If two people's filter invocations in the .forward file match, sendmail will gladly coallese these down to one as a duplicate delivery address, and the result is exactly what you describe. Just get everyone to make their .forward line personal (add a unique -o file perhaps) and all will work ok. * John Walder (walder@alexia.lis.uiuc.edu ): If you have the source code for sendmail, try the following patch to the sameaddr() function in the file src/parseaddr.c. It still eliminates duplicate recipients but not duplicate programs (filters). This solution is more elegant than continually fixing .forward files. --------------------------------------------------------------------- *** parseaddr.c- Tue May 4 10:55:42 1993 --- parseaddr.c Tue May 4 11:42:52 1993 *************** *** 1525,1530 **** --- 1525,1538 ---- if (a->q_mailer != b->q_mailer) return (FALSE); + /* -- 05/04/93 jdw LOCAL CHANGE + Allow recipients to forward to the same program/filter! + Have same mailer, so check for delivery to a program + */ + /* fprintf(stderr, "sameaddr(%s,%s)\n", a->q_user, b->q_user); */ + if (a->q_mailer == ProgMailer) + return (FALSE); + /* -- End LOCAL CHANGE */ + /* if the user isn't the same, we can drop out */ if (strcasecmp(a->q_user, b->q_user)) return (FALSE); 3.05 What is the simples filter-rules file I can write to test filter? Well, the simplest is: always leave which tells filter that it should always put the messages into your default mailbox. A more interesting example would be: if (subject contains "filter-test") then save "~/filter-folder" which tells filter to save all messages with a Subject: field that contains filter-test into the file filter-folder in your home directory. All other messages will be put into your normal incoming mailbox, since that is filters default rule if no other match. You can then look at the messages in filter-folder with elm (elm -f ~/filter-folder). 3.06 How do I check my filter-rules for typos and other errors? Run 'filter -r'. See also the next question. 3.07 Why doesn't the output from filter -r match my filter-rules file? Filter reads the rules and converts them to an internal format. When it writes them out again, it writes them in a canonical format. This is due to the fact that filter has a loose input syntax. Each rule is turned into an 'if (...) then ...'. The following words are translated: contains becomes = && becomes and then becomes ? matches becomes ~ 3.08 Can I have 'or' in my filter-rules? No, filter can't deal with that. Or is implemented by writing another rule below the one you want to 'or' with. 3.09 Can I make filter execute more than one rule for a message? No. As soon filter find's one applicable rule, it executes that one and exits. 3.10 How do I do multiple actions for one rule? You can't do that directly in the filter-rules file. You have to write a shell script or program that does what you want, and then call it with the execute or executec action. 3.11 What headers are available in the filter-rules? From, To, and Subject. If you answered yes to Configure when it asked "Does your site receive e-mail with valid "Reply-To:" and "From:" fields?", the From field will be the From: header, or the Reply-To: header if one is available (Reply-To: supersedes From:). If you answered no, the From line is the From_ header. The To field is the concatenation of the To:, Apparently-To: and the Cc: headers. 3.12 How do I forward mail to an elm alias from filter? Let's say you want to do if (subject = hello) forward "mail-alias" where mail-alias is an alias you have defined in elm. The sad part is that filter doesn't know about elm aliases. You have to do something like this: if (subject = hello) executec "/full/path/to/elm -s '%s' mail-alias" 3.13 Filter executes my script but the script doesn't work. It does work if I run it prom my shell prompt. Why? Never assume that the script filter executes has the same PATH that you have when logged in. Always set the PATH explicitly at the beginning of your script. 3.14 How do I capture the message fed to a script by execute/executec for later processing? At the start of your script: /bin/cat - > /tmp/mail$$ Then you can grep, and examine /tmp/mail$$ as you would an ordinary file. Don't forget to remove /tmp/mail$$ if you don't need it afterwards. 3.15 Both execute and executec feeds the message as standard input to the script. But what if I don't need it? Just ignore it. 3.16 What if I what to do something based on the contents of a message (i.e not the headers), or based on some header not available in filter? Feed the message to a script using execute/executec, save it and do your stuff in the script. 3.17 How can I make filter operate on all messages in a folder? You can't directly, but you can make a little script that does the job: #!/bin/sh frm -n $1 | while read no rest do no=`echo $no|sed 's/[^0-9]//g'` readmsg -h $no | filter -vo /what/usually/goes/here done Start the script with the folder name as argument. NOTE: this script is an example, and doesn't work on empty folders. If your filter rules try and put something into the folder the script is currently operating on, disaster occurs. 3.18 Can I use filter to automatically answer my mail (like vacation)? If you are on vacation you might do something like this: In your filter-rules: always execuUWVFP( FP0 ‹؋F&O F&G&G<ʋЋ™Ƌ$6&~&6&F&9EtL2pP3P F&EĞ&(6&>pt*6&>vt TF&EF,6&>~FvFĞ&^&9~Ì~ڹ-F*Ftz8ft F^&8Gui~t F^&8GuWF+F;F| F9Fu~tF@t8F^&8Gt,F+F;F~<.6&>t0^&GĞ&v&@F[FF,6&9~2F^&8Gu FuӋvzvĞ&7X06&?&&DPĞ&&& 26&>|u 46&z66&^&Gȋƻ[؎86&>&I86&&a~t;F*PĞ&&& 46&zF*Pv:6&& ud26&>|u 46&zĞ&&& <6&6&6` P, >6&F&H t8PP  |FPPh P:6&6&6P  |FPPh P*6&>vt BlPP] @6&6&6`Ğ&&& pP B6&R&TĞ&7FD6&FF6& fĞ&7FtH6&&J6&H6&J6&f%=؎L6&FD6&FF6& ^_]ːUVN6&6 &6rP N6&6 &6"P vPrPh P"Ph FPrPXX @uNFP"PXX @uQN6&6 &6"P P6&6(&6&"Ph FP"PXX @uFV9Vvr9Fv~} ~[sPrPC uƆrPrPVj3 6d6brP  udpP~QPVj3 FPF-P86&6&6VP R6&[RPFV-RP ,6&V2 ^]UWV+PP( FVN6&6 &6FP N6&6 &64P PFPh P4Ph FP4PXX @uQN6&6 &64P P6&6(&6&4Ph FP4PXX @u3FV9Vw1r9Fs*FVFV06&X&& FVFVFVPPFPC uP6d6bVh4 pP~QPVh4 3,602&9?~Dv3ɉNރ,.&Gt &u&g[GĞ0&9?ЋvFP[Ğ0&/P86&6&6VW V2 FPFPR ^_]ːUTWVN6&6 &6FP PFPh PFP V t)FPVQpQ~RQx WV ^_]ːU"WVFP( FP0 V<&m&EFT6&F&M FF &EF~,6&F 86&&؉V$6&FN9Nu~t F&u|v&DF&8G tl&G *Fta&G:F t F&D8FuJF&G9F t F&D8Fu0Fw&F;FF&@t+~9~~~[A9N~a~}+FFf~@~F39N86&&>؉V~؃~t Fw&uZFw&*FtJF&F t F&8Eu4Fw&F t F&8EuFw&FF;F}F[A9N~V~t}^_]ːear all searchUWVP V t5P6  u$FPVVP VPƆVPVPh FPVPXX  t$VPP(P P ~WP V u P(P P P-PVP26 FV u$VP0P(P P vvWPvV ;t2VPLP(P vv P vv  t$VPwP(P P F  3RT&7&GLX"3NP&&G&MVv~~؎ZX&&+NjV&&PIuvĞN&F&7&GĞR&&&GÌV&$3& &> & & ߎ&&3&OF&&&ʋH(3JL&&G*3&&F&ʋFPQ" @FĞJ&&?~G~VvN~&&+NjV&&PAĞJ&&9ڋ~v*3&F&7&GĞJ&&@&GF,3&> & M.3& & ^_]ː&u0 U.WV4Z9&3\9&6^9&"`9& b9&r d9&bf9&dh9&fj9&h+ɉNNvvZ RP"Pr QP V^V۹^VNVl9&>nu-n9&X&B&@ "P| 3br QP t~ PvvP t!2PP] p9&tN릐2PP] p9&u, QP2PP] p9&u0 ~+PP( FVP+PP( ȋ+FV~9&&SQvvvVr FV~9&&d3SQRP FVdRPvv FVvvRP<RPSQRPvv⚺ RPFމVT SQvvމFډVܚT <3SQvvF։Vؚ FV؋Nڋ^+SQF҉VԚT +FVRPvvvvvvZ RPn9&X&r&p N~9&pr9^F&?tt9&>vt^&?t;^9&>"u\9&>6u `9&> tPvv^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66 tظ[.ظ&&،F&Gt1&9}&Gع&;z ~36&z F&9G|&F u &>tF&Gu & t~u &>tF&Gt & uPvvP t}pr9^F&?tMt9&>vtAPPv9&68&66`Px9&JPv9&68&66+PP( FVz9&>|u |9&z, QP |%^&?tMt9&>vtAPPv9&68&66`Px9&GPv9&68&66PvvPn9&X&F&D PvvPr9&>ptMt9&>vtAPPv9&68&66`Px9&GPv9&68&66^_]UWV P3Z9&P QP 9+&& ~ u19&9>"t2PP] p9&u |] u9&9&F |#[n9&&@t 9&2P P] =tz9&>|u |9&zr9&>ptt9&>vtT9&>"t2PP] p9&t t3Pt9&N& LtsdP FV|] t6~vv`  u!dP FV] |] u͚] 3P9&6N&6LtmpP FVRP`  tP~|] t@2P P] =t* vv`  t 3b2PP] p9&t;3PN^9&>"u\9&>6u `9&> t N(^_]ːUWV9 &?|%[&/9&&~ڹ-Ğ &?}^9&>"t5~t/F*Pn9&X&N&L F*P3~9&& t1B*PWn9&X&R&P B*PFF;r `9&?u \9&>6t?Ğ &?|5~t/F*Pn9&X&V&T F*PO9&& uĞ&?u\9&>6u^9&>"un9&X&Z&X 9&6&6` P, 9&6&6P Ğ &?|FPPh PPP] n9&X&^&\ 9&6&6`pP 9&R&T3^9&"\9&6Ğ&^_]ːU욀"P9&6&6n9&X&& 9&6&6`嚖t9&>vt9&63P] 9&>Ltr 9&>du.] v ]UVv u3, ȋƙ+T؋ʙùdP ^]ːUWV~9&B&DF&9Eu &9U u&E & Eu 9&&9&6&6KP KP" KF^F9&& u~N؋W&9Du&9T tGG u9&&V uVV‹&?u$~9&>t3"PvW ~^FFG&<u^&7"PvW_9&6&6KP KP" K^9&F&9t&9&>uF&5"PDvP K^_]ːUt9&>vur9&>pu3P, 9&@P"Pr QP PQ9&6&6`r QP9&6&6mcha^n Trung co^.ng. Ve^` bo^. chie^'n, dde^? cho^'ng la.i cuo^.c chie^'n tranh qui u+o+'cco^? ddie^?n, ddo^'i pho