Using Maildirs, messages have 0 lines

2001-12-24 Thread Philip Mak

Even in the latest (beta) version, mutt displays the size of all messages
as 0 if they are in a Maildir.

I looked at the FAQ and it has a workaround that uses procmail to insert a
Lines: header, but I'm wondering if there's a less kludgy way to do
this.

Wouldn't it be relatively easy to patch mutt so that it displays bytes
instead of lines? In a Maildir, it only takes a simple stat() operation to
find the size of a message. I'm more used to seeing bytes anyway since I
come from using pine...




Any good mbox-Maildir conversion tool?

2001-12-24 Thread Philip Mak

[Summary: Is there a simple mbox-Maildir conversion tool that preserves
the Replied, Seen, Trashed and old/new status of the messages?]
---

I've looked through 3 different mbox-Maildir conversion tools
(http://www.qmail.org/top.html#maildir), but none of them seem to address
the problem of preserving message flags. In an mbox, message flags
(Read, Deleted etc.) are stored as headers.

pine and mutt (I'm guessing POP/IMAP does something similar; correct me if
I'm wrong, since I don't use POP/IMAP) can set these headers to indicate
various flags:

Status: RO
X-Status: AD

A = message has been Replied to
R = message has been Seen
D = message is marked to be Trashed
O = message is old
(Any other flags I missed? Those are all the ones that show up in
Status: or X-Status: in my 10009 message mailbox.)

From reading the Maildir specification
(http://cr.yp.to/proto/maildir.html), I gather that this is the conversion
protocol:

1. The message should be placed in new/ unless O is set, in which case
   it should be placed in cur/.

2. The flags ARD should be converted to RST in the maildir filename, if
   the file is in cur/.

I also think that these maildir conversion utilities are written too
complex, which makes it harder to incorporate them into one-liner shell
scripts. The ideal interface to a maildir conversion program could be like
this:

mbox2maildir  Mailbox ~/Maildir

which reads the mailbox from standard input, and takes the first argument
as the path to the Maildir. Even though this can only convert one mailbox
at a time, someone can just do for x in /var/spool/mail/* to
mass-convert mailboxes.

Thoughts? Is there a mbox-Maildir conversion utility that has the
qualities I described, or should I consider writing one myself?

P.S. How should the following header be interpreted? Note the doubled
From line. I have three messages like that in my 10012 message mailbox;
one of the mbox-Maildir conversion utilities I tried made that into two
messages (the first one being blank). I'm guessing that since there was no
blank line after the first From line, it should have known better.

From [EMAIL PROTECTED]  Fri Apr 14 14:05:59 2000
From [EMAIL PROTECTED]  Fri Apr 14 14:05:59 2000
X-UIDL: cd2063b7269c3a7a8d7faaf20cc13632
Return-Path: [EMAIL PROTECTED]




Re: Any good mbox-Maildir conversion tool?

2001-12-24 Thread Philip Mak

On Tue, 25 Dec 2001, Jeremy Blosser wrote:

  [Summary: Is there a simple mbox-Maildir conversion tool that preserves
  the Replied, Seen, Trashed and old/new status of the messages?]
  ---

 Yes, use mutt itself.

 1) mutt -f mbox
 2) tag all
 3) tag copy/save to new maildir

Nice. It preserved all the flags, and also added the Lines: header.

Is there a way I can do this from the command line, though? I need to
automate a lot of mailbox conversions...




Re: Using Maildirs, messages have 0 lines

2001-12-24 Thread Philip Mak

On Tue, 25 Dec 2001, Philip Mak wrote:

 Wouldn't it be relatively easy to patch mutt so that it displays bytes
 instead of lines? In a Maildir, it only takes a simple stat() operation to
 find the size of a message. I'm more used to seeing bytes anyway since I
 come from using pine...

Never mind, I figured it out. Putting this in the .muttrc file makes mutt
display bytes instead of lines:

set index_format=%4C %Z %{%b %d} %-15.15L (%4c) %s

I think this is the easiest solution to the Maildir lines problem,
assuming that the user doesn't mind seeing bytes instead.




Perfect mbox to Maildir converter

2001-12-25 Thread Philip Mak

I wrote an mbox to Maildir script that I think is better than the other
alternatives out there, assuming that the mbox uses Status: RO and
X-Status: ADF headers to keep track of message flags (pine, mutt, and I
think UW-IMAP do this).

The main design goals of this script are Simplicity and Correctness.

Usage is simple:

[pmak@lina pmak]$ ls -l mbox
-rw---1 pmak pmak 152548699 Dec 25 04:43 mbox
[pmak@lina pmak]$ ./perfect_maildir Maildir  mbox
Inserted 10011 messages into maildir Maildir in 35 seconds

On an AMD Duron 1GHz, my script can process about 280 messages per second.

perfect_maildir does not attempt to find all the mbox files in a directory
and convert them; I think that's better handled by a shell script such as
this (untested):

su
cd /var/spool/mail
for x in '*'; do
  maildirmake ~$x/Maildir
  perfect_maildir ~$x/Maildir  $x
  chown -R $x ~$x/Maildir
  chgrp -R mail ~$x/Maildir
done


#!/usr/bin/perl

# Simple but Perfect mbox to Maildir converter v0.1
# by Philip Mak [EMAIL PROTECTED]

# Usage: perfect_maildir ~/Maildir  mbox

# Simple  - only converts one mbox (can use script in one-liners)
# Perfect - message Flags/X-Flags are converted; ^From . line is unescaped

# I wrote this script after being unsatisfied with existing mbox to
# maildir converters. By making it Simple, code complexity is kept
# low thus making it easy to program and debug. At the same time,
# since it only converts one mbox at a time, it is perfect for use in
# a shell ``for'' loop (for example).

# As for being Perfect, to the best of my knowledge this script does
# the conversion correctly in all cases; it will translate Status
# and X-Status fields into maildir info, and it correctly detects
# where messages begin and end. (This is only version 0.1 so I may
# have messed something up though. Please send me feedback!)

# NOTE: The MUA ``mutt'' has a bug/feature where in the message index,
# it claims that all maildir messages have 0 lines unless they have a
# Lines: header set. perfect_maildir does not attempt to add the
# Lines: header; you may want to reconfigure ``mutt' to display byte
# size instead of lines instead by adding the following line to your
# ~/.muttrc file:
#
# set index_format=%4C %Z %{%b %d} %-15.15L (%4c) %s

# check for valid arguments
my ($maildir) = @ARGV;
if (!$maildir) {
  print STDERR Usage: perfect_maildir ~/Maildir  mbox\n;
  exit 1;
}

# check for writable maildir
unless (-w $maildir/cur) {
  print STDERR Cannot write to $maildir/cur\n;
  exit 1;
}
unless (-w $maildir/new) {
  print STDERR Cannot write to $maildir/new\n;
  exit 1;
}

my $num = 0;
my $time = time;

repeat:

# read header
my $headers = '';
my $flags = '';
my $subject = '';
while (my $line = STDIN) {
  # detect end of headers
  last if $line eq \n;

  # strip From line from header
  $headers .= $line unless $line =~ /^From ./;

  # detect flags
  $flags .= $1 if $line =~ /^Status: ([A-Z]+)/;
  $flags .= $1 if $line =~ /^X-Status: ([A-Z]+)/;
  $subject = $1 if $line =~ /^Subject: (.*)$/;
}
$num++;

# open output file
my $file;
if ($flags =~ /O/) {
  $file = $maildir/cur/$time.$num.$ENV{HOSTNAME};
  my $extra = '';
  $extra .= 'F' if $flags =~ /F/; # flagged
  $extra .= 'R' if $flags =~ /A/; # replied
  $extra .= 'S' if $flags =~ /R/; # seen
  $extra .= 'T' if $flags =~ /D/; # trashed
  $file .= :2,$extra if $extra;
} else {
  $file = $maildir/new/$time.$num.$ENV{HOSTNAME};
}

# filter out the DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA message
$file = '/dev/null' if ($num == 1 and $subject eq DON'T DELETE THIS MESSAGE -- FOLDER 
INTERNAL DATA);

open(FILE, $file);
print FILE $headers\n;
while (my $line = STDIN) {
  # detect end of message
  last if $line =~ /^From ./;

  # unescape From
  $line =~ s/^From (.)/From $1/;

  print FILE $line;
}
close(FILE);

goto repeat unless eof(STDIN);

my $elapsed = time - $time;
print Inserted $num messages into maildir $maildir in $elapsed seconds\n;



Good vim configuration?

2001-12-25 Thread Philip Mak

I'm used to using pine's editor, which handles filling of paragraphs (even
if they start with   due to quoting) fairly nicely.

How can I achieve the same thing in vi? I'd like to be able to bind a key
such that when I press it, it automatically refills the current paragraph
smartly. Some automatic line wrapping would be nice, too... I'm wondering
what configurations for .vimrc do you guys use for use with mutt?




Re: Good vim configuration?

2001-12-25 Thread Philip Mak

I did some digging around Google and came up with this:

[pmak@lina pmak]$ cat .muttvimrc
map C-J {gq}  # Ctrl+J rejustifies current paragraph
set formatoptions=tcroqv# see :help formatoptions
set comments=nb:   # rejustify quoted text correctly
set tw=75   # wrap lines to 75 chars
[pmak@lina pmak]$ egrep editor .muttrc
# load a special vimrc when starting vim from mutt
# and start the cursor at the end of the headers
set editor=vim -u ~/.muttvimrc +/^$

It doesn't seem to work with all recent versions of VIM, though. It's very
weird---version 6.0z Beta (2001 Mar 24) seems to ignore whatever I put in
set comments. On version 6.0 (2001 Sep 26), the set comments thing
works but I can't map any control keys for some reason (!). I'm still
trying to figure that out.

But the reformatting of lines, even ones with multiple levels of quoted
text, seems to work.




Re: Good vim configuration?

2001-12-25 Thread Philip Mak

I tinkered around a bit more and came up with this code for making Ctrl+J
(justify paragraph) work, even with quoted text.

It assumes that ^[ ]*$ is the paragraph separator, meaning that any line
which is blank or only contains '' and ' ' separates a paragraph. Here is
the full code for making Ctrl+J work:

[pmak@lina pmak]$ cat .muttvimrc
function! PrevPara()
  if !search(^[ ]*$, 'bW')
1
  endif
endfunction

function! NextPara()
  if !search(^[ ]*$, 'W')
$
  endif
endfunction

set formatoptions=tcqv
set comments=nb:
set tw=75
set cpo-=
map { :call PrevPara()ENTER
map } :call NextPara()ENTER
map C-J {gq}j
[pmak@lina pmak]$ egrep editor .muttrc
set editor=vim -u ~/.muttvimrc +/^$

I'll keep refining this as I use it more and find any quirks. (If anyone
here actually uses my code and has comments please let me know. :)

BTW, regarding those other suggestions involving binding fmt or par
to a key, isn't it slow to fork a process every time you press the
rejustify key, or is that overhead negligible?




Re: Mutt can not cooperate with mozilla

2001-12-25 Thread Philip Mak

On Wed, 26 Dec 2001, Charles Jie wrote:

 In my .mailcap:

 text/html;  mozilla -remote openurl\(file:%s\)

 always fails because %s is expanded as ''

 The quotes are the problem because they mix up in the URL.

How about this?

text/html;  mozilla -remote openurl\(file:`echo %s | sed s/^'\(.*\)'$/\1/`\)

sed s/^'\(.*\)'$/\1/ will read 'something' from standard input and write
it to standard output without the single quotes.




View HTML files when running mutt through SSH

2001-12-25 Thread Philip Mak

I had an interesting little idea on how to view HTML files on my desktop
web browser, even though I'm running mutt through SSH!

I put this in my .mailcap:

text/html; opera %s

opera is a simple perl script to rename the attachment to a value that
is guaranteed to be unique (time_pid.html), invoke sz on the file
(using the ZMODEM protocol to send the file to my computer, since my ssh
client supports ZMODEM), and then print a special string that gets picked
up by a trigger in my SSH client, which invokes my web browser to open the
file.

So, just by viewing the attachment in mutt, I can have it show up on my
web browser, over SSH.

I found this trick to be more interesting than useful, though; I rarely
have a need to view bloated HTML e-mail. It's also a bit slow.




Escaping From separator line in an mbox

2001-12-26 Thread Philip Mak

Regarding the From [EMAIL PROTECTED] Wed Jun 06 18:44:53
2001 lines in an mbox file...

What is the regular expression for matching whether the line in an mbox
file is the beginning of a new message?

What is the regular expression for matching lines like From that should
have the  removed before being displayed?

I've been trying to figure it out, but I couldn't find an RFC on it. It
seems to be more complicated than simply /^From ./. This is what I've come
up with so far, but I may be wrong:

/^From (\s*[^ ]+\s+... ... .. ..:..:.. )/

I have the feeling that not all MUAs/MTAs are consistent in how they
handle this, because e.g. when I send an e-mail to a mailing list that has
a line beginning with From, when I get my message back it turns into
From (when being displayed by the MUA to me)!

Detecting the former is more important than the latter, since if I get the
latter wrong, it just means an extra  or a missing  in the message,
which doesn't matter unless it was a binary encoded file that had From
at the beginning of a line (unlikely). But if I get the former wrong, then
a whole message can get messed up.




Re: Escaping From separator line in an mbox

2001-12-26 Thread Philip Mak

On Wed, 26 Dec 2001, David T-G wrote:

 Your MDA will also escape any ^From_ in the body to avoid confusion with
 a message separator line -- if it's delivering to an mbox file.

That doesn't seem to be true. For example, in one of my sent-mail files
from pine, I saw this line (there was no  before it):

From 66.28.28.22: Destination Host Unreachable

pine knows not to recognize it as a From line, so I'm thinking that pine
makes sure that it also has a date like Mon Nov 26 06:33:50 2001 on it.
My current best guess for a regexp to match a message separator line is
this:

/^From (\s*[^ ]+\s+... ... .. ..:..:.. )/

but I'm wondering if there might be obscure cases in which it breaks.




Dealing with bad MIME types

2001-12-26 Thread Philip Mak

Someone sent me an attachment called designview.jpg with MIME type of
application/octet-stream. Since it wasn't image/jpg or image/jpeg,
mutt didn't know how to view it correctly.

How could I have made mutt treat that as image/jpg (by making it look at
the filename extension, perhaps) despite the incorrect MIME type?




Free code! Integrate mutt through SSH with your desktop

2001-12-26 Thread Philip Mak

Here's a beta version of code that I made for myself. My desktop is a
Windows system, but I run mutt through SSH. I'd like to be able to have
HTML and image attachments come up directly on my web browser, so I made
this code.

Prerequisites:
- mutt (of course!)
- SecureCRT SSH client (or other SSH client with ZMODEM and Visual Basic
  scripting support; opera.vbs may need minor modifications to work with
  other clients)
- ZMODEM installed on your UNIX system as the sz command

To install it, put opera.pl in ~/bin/opera and chmod 755. Then, put this
into your ~/.mailcap (customize to your liking):

text/html; opera html %s
image/gif; opera gif %s
image/jpg; opera jpg %s
image/jpeg; opera jpg %s
image/pjpeg; opera jpg %s
image/png; opera png %s

The script called opera will rename the attachment file to a unique
value ($ARGV[0] is the extension that it will use), and then execute the
sz command to send the file to your SSH client. After doing so, it will
print $filename\n$passphrase\n.

On your SSH client, you will need to have opera.vbs running. SecureCRT can
be set to always run this script automatically if you configure it in
Options-Session Options-Connection-Login Scripts.

opera.vbs will listen for $passphrase and when it hears it, it will open
the file in $path/$filename (be sure that you have set Windows to know
to use your favorite program to open .JPG, .PNG, .GIF, .HTML).

You probably want to change $passphrase in opera.pl and opera.vbs (they
must match) to some secret value, and don't set it to be world readable.

Another hint if you have a slow link: For faster download of certain files
e.g. (HTML, DOC, XLS), in SecureCRT go to Options-Session
Options-Connection-SSH2-Compression, and check Use compression and
crank Compression level up to 9.

If anyone uses this/improves on it, let me know. :)

For loading HTML attachments, I'm thinking it might be useful to load it
in lynx first, and then have the option of opening it on my desktop
instead if lynx is inadequate... is there a way to define multiple
possible actions for a single MIME type?

I also wonder if I can make it so that when I click a mailto:; link in my
desktop web browser, it goes to mutt and automatically starts composing a
message. I probably won't bother doing this though, because I'm not
familiar with VBScript programming, and there's also the problem of how to
interface with mutt - what if it's not running, what if it's in the middle
of composing another message, etc.


#!/usr/bin/perl

# This program is free software under the GNU Public License.
# See http://www.gnu.org/copyleft/gpl.html for details.

# A wrapper script intended for use in .mailcap in order to send
# files to the desktop web browser when running applications
# over SSH or telnet. The SSH/telnet client must have special
# programming instructions in order for this to work.

use strict;
use File::Basename;

my $passphrase = SPECIAL TRIGGER STRING;

# Check for valid command line arguments
die Usage: opera extension filename unless @ARGV == 2;
my ($ext, $file) = @ARGV;
die Cannot read/write $file unless (-R $file  -W $file);

# Generate new unique filename with correct extension
my $dirname = dirname($file);
my $time = time;
my $newbase = dl_${time}_$$.$ext;
my $newfile = $dirname/$newbase;
rename($file, $newfile) || die Cannot rename $file to $newfile;

# Upload file to desktop and delete it locally
system(sz $newfile);
unlink $newfile;

# Send command string to client, triggering it to open the file
print $newbase\n$passphrase\n;



opera.vbs.gz
Description: gzipped .VBS script; run in SecureCRT


Moving between folders

2001-12-26 Thread Philip Mak

Is there a way to make it so that when I use the c command to change to
a different folder, the original one remains open?

My ~/Maildir/ folder has 1 messages, and my =sent folder has 6000
messages, so it's slow to switch between them if they get closed each time
I switch.

BTW, I just noticed a minor bug: If I'm in my sent mail folder and I
compose a message, it will say Mailbox was externally modified.  Flags
may be wrong. due to it writing a new message into the sent mail folder.




Re: mutt opens folders too slowly? (Re: Mutt is great!)

2001-12-26 Thread Philip Mak

* Cleber S. Mori [EMAIL PROTECTED] [011207 22:32]:
 Mutt have just one problem. It is slow to open folders, because
 it does not cache them. Pine did it, and it feels much more fast.
 I don't know if there is a option for that, but I believe not.

mutt takes 7 seconds to open my 1 message inbox (Maildir).

pine takes 2 seconds.





Re: Escaping From separator line in an mbox

2001-12-27 Thread Philip Mak

On Thu, 27 Dec 2001, Matthew D. Fuller wrote:

 Mutt, I guess, outsmarts the mbox by reading Content-Length:, which you'd
 pretty much have to do I guess.  To me, it just seems like putting too
 much trust in the LDA, whatever that may be, but...  Then again, why not
 trust?  mbox is fragile as hell anyway, what's one more shaky assumption?
 ;)

Looking in my sent-mail folder from pine that had a message with unescaped
From 66.28.28.22: Destination Host Unreachable, it did not have a
Content-Length header. Here is the headers for that message:

From [EMAIL PROTECTED] Sat Nov 10 03:17:28 2001 -0500
Date: Sat, 10 Nov 2001 03:17:28 -0500 (EST)
From: Philip Mak [EMAIL PROTECTED]
X-Sender:  [EMAIL PROTECTED]
To:  [EMAIL PROTECTED]
cc: James Ventrillo [EMAIL PROTECTED],
Mike Little [EMAIL PROTECTED]
Subject: IP address problems on buildreferrals.com
Message-ID: [EMAIL PROTECTED]
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Status: O
X-Status:
X-Keywords:
X-UID: 47

I'm guessing that mutt/pine/etc. use some best effort heuristics to
determine when a From  line is a message separator. For example:

- A message separator only occurs after a blank line.
- A message separator contains From , an envelope sender address (as
  defined in RFC822 appendix d addrspec), whitespace, and a timestamp
  (weekday month day time [timezone] year).

It seems that there is not a reliable mechanism for unescaping From
lines; I've found out that if I send a message that says From to myself
(using pine with mbox), it will become From in some cases. I'm guessing
this is one of those things that should have been standardized, but
everyone just did it ad hoc and now it's a mess.

man mbox on my system says:

   In order to avoid mis-interpretation of lines  in  message
   bodies  which  begin with the four characters From, fol
   lowed by a space character, the character  is  commonly
   prepended in front of such lines.

It says commonly prepended, which implies that it doesn't have to be. :(

So it would seem that for the mbox to Maildir conversion program that I'm
writing, the best thing that I can manage is to make it recognize a From
line as a message separator based on those two heuristics (preceding blank
line, and correct syntax)  above.




Re: Using mutt in command line ..

2001-12-27 Thread Philip Mak

On Thu, 27 Dec 2001, Ivan Castillo Escobar wrote:

 Somebody can tell me how to write the exact command to send a mail with
 an attachment using the command line (mutt), without the need to enter
 the vi editor to write the message body???. I need to use a mutt command
 to be executed in a UNIX shell ...

If you just want to send a text file to someone, you can simply use the
standard UNIX mail command:

mail -sMy .muttrc file [EMAIL PROTECTED]  ~/.muttrc

would send e-mail to [EMAIL PROTECTED] with subject My .muttrc file and
send your ~/.muttrc file.

It doesn't work with binary files, though. You can probably use mutt to do
that somehow but I don't know how.




Bug? Pressing $ when new mail arrives

2001-12-27 Thread Philip Mak

Scenario: When I press $ to purge the deleted messages in my mailbox,
and it asks me:

Purge 8 deleted messages? ([yes]/no):

and I answer yes, if new mail has arrived that mutt didn't see yet, it
will show the new mail and *abort* the purge operation. Is this a bug/is
there a workaround for this?




Re: Bug? Pressing $ when new mail arrives

2001-12-27 Thread Philip Mak

On Thu, 27 Dec 2001, Brian Clark wrote:

  if new mail has arrived that mutt didn't see yet, it
  will show the new mail and *abort* the purge operation. Is this a bug/is
  there a workaround for this?

 If you don't want to be asked, I think you want this:

 ### delete
 ### Type: quadoption
 ### Default: ask-yes
 ### Controls whether or not messages are really deleted when closing or
 ### synchronizing a mailbox.

That's not what I was talking about, actually. I was saying that when it
asks me Purge 8 deleted messages? ([yes]/no): and I answer yes, it DOES
NOT purge the messages if new mail has just arrived.





Writing bullets/lists in vim

2001-12-27 Thread Philip Mak

Does anyone have a vim configuration to make writing bullets/lists easier?
e.g. when I'm writing something like this:

--- begin example ---
1. Pick one of the RaQs to be the DNS server.
2. E-mail [EMAIL PROTECTED] and ask him for an additional IP for
   that RaQ.
3. When you get the IP, tell me and I'll set the server to use it.
--- end example ---

it would be nice if when the line wraps while I'm typing point #2, the
cursor starts on column 3 instead of column 0 on the second line.




big mailbox v.s. rotated mailbox; thoughts

2001-12-27 Thread Philip Mak

I was thinking about the merits of keeping one large mailbox, versus
keeping a mailbox that's rotated monthly/quarterly/yearly. Some people
prefer to keep one huge mailbox, and some other people prefer to rotate
it. I'd like to explore the reasons why people do it one way and not the
other.

Reasons I keep my mail in one large mailbox:

- I'm too lazy to go look up how to rotate my mail.

- It's useful to be able to search for every message a specific person has
ever sent me.

- The only performance degradation that I've noticed as a result of having
a 1 message mailbox is that mutt takes 8 seconds to start. However, I
run screen anyway (it's useful since my dialup connection disconnects me
randomly, too). A l (limit) command executes within 1 second, even on my
huge mailbox.

Then again, the current performance degradation could get bad when I
accumulate another year or two of mail. :)

My main complaint against rotated mailboxes is the anomaly that occurs
right after a rotation cycle: My folder would be almost empty, and if I
want to search for something I'll have to search for it twice - once in
the current folder, and once in the previous period's folder.

A fine-grained rotation scheme might work better; e.g. I could have a
primary folder that holds the last 3 months of messages, and an archive
folder that holds everything else. Every day, a cronjob looks through
~/Maildir/cur for individual files that are 3 months old and moves them to
~/mail/old/cur (is file modification time always the same as the time the
message was received?). In that case, I have a reasonably small main
folder that I can probably find everything I need to in (saves performance
over having one huge folder), and if I need to go back further I can
access the larger archive folder.




Re: Bug? Pressing $ when new mail arrives

2001-12-27 Thread Philip Mak

On Thu, 27 Dec 2001, Benjamin Smith wrote:

  I was thinking of that too, but since mutt still knows how to mark the
  messages to be deleted after the purge, why not delete them after the
  check... ?

 Good question... Currently the code just does this (in
 mbox_sync_mailbox):

 /* Check to make sure that the file hasn't changed on disk */
 if ((i = mbox_check_mailbox (ctx, index_hint)) == M_NEW_MAIL ||  i == M_REOPEN
 {
   /* new mail arrived, or mailbox reopened */
   need_sort = i;
   rc = i;
   goto bail;
 }

Hmm... mutt's paradigm is to work gracefully even when there are different
processes accessing the same mailbox at the same time. Let's imagine what
would happen if person 1 and person 2 are both accessing the same mailbox,
and we made mutt continue to expunge the messages even after it detects a
change in the mailbox:

1. Person #1 presses $ and is asked whether to expunge messages.
2. Person #2 deletes a message.
3. Person #2 notices that he deleted the wrong message and wants
   to undelete it.
4. Person #1 presses y, causing all deleted messages to be
   expunged, including the one that Person #2 wanted to undelete.

I'm guessing that's why the mutt authors coded $ to abort in case of a
mailbox modification; if they just made it blindly not abort, then mutt
would lose some transaction safety.

I think a better way of handling this would be for mutt to remember what
messages were marked as deleted when $ was pressed. If the user then
confirms the deletion but mutt detects a changed mailbox, it should go
read the mailbox again, then delete any messages that were originally
marked as deleted and are still marked as deleted.

I may not be fully aware of any problems in implementing this, though
(maybe my reasoning is flawed somewhere, maybe there's a technical reason
that makes it difficult to implement this, etc.).




mutt loosing D flags

2001-12-29 Thread Philip Mak

I think I did something recently (it had to do with answering no when
mutt asked me whether I wanted to purge deleted messages) that caused mutt
to lose track of which messages had D (Deleted) flags on them.

Does anyone know what I did, and how to avoid doing it again? I think
someone recently said on this mailing list that mutt does not have the
ability of saving D (Deleted) flags.

It seems odd that mutt doesn't support it, since there seems to exist ways
to store these flags (X-Status: D in mbox, or put T flag in filename
in Maildir/cur).




Re: problem with timestamps

2001-12-29 Thread Philip Mak

On Sat, 29 Dec 2001, Andy Spiegl wrote:

  I hope I can make this clear, when mutt modifies a file (mbox) it
  doesn't update the timestamps.
 Sure, I know this problem very well and started a long thread about this,
 but in the end I was told that it's not a bug, but a feature.  I still
 don't understand why and keep thinking that it's a bug.  But there seem to
 be too many people out there that like that way because a lot of (in my
 opinion broken) programs make use of it and so it won't be changed.

Perhaps your patch should be included in the standard distribution as a
user-configurable option?




Re: GPG-PGP

2001-12-31 Thread Philip Mak

On Mon, 31 Dec 2001, Benjamin Michotte wrote:

 just to say that I finally win :)
 I convert 3 friends to use mutt and they're really happy now ;)

 On Tue, Dec 11, 2001 at 10:18:50PM, Benjamin Michotte wrote:
  Is it possible to ask mutt sending signed messages in line or must I
  force my friends to use mutt ? (I try but is difficult ;p)

I used mutt a few months ago but gave up on it because I couldn't figure
out how to do things that I could easily do with pine.

This month I finally had the time to sit down for a few hours and
carefully read through the mutt manual so that I could configure
everything just how I needed it (remember my earlier posts about
configuring vim to do paragraph formatting even with quoted text, viewing
images on my desktop by ZMODEM send over ssh, etc.).

I think that mutt is a good e-mail client, but the default configuration
is sub-optimal (vim doesn't format paragraphs well by default, some of the
key bindings are counterintuitive IMHO, etc.). In order for a newer user
to get into mutt, he has to be able to use it how he wants.

My next mutt project: SSH-before-WWW (inspired by POP-before-SMTP). I have
been using ZMODEM to send attachments back to my desktop for
saving/displaying, but ZMODEM doesn't work ever since I started running
mutt in screen. Instead of using ZMODEM, I'm going to put the files into a
directory on my web server; this directory will be protected such that
only IP addresses currently logged into my account can view it.




Where's the MAIL FROM line?

2002-01-01 Thread Philip Mak

Is it possible to see the SMTP MAIL FROM line of a message in my
mailbox, or does Maildir format strip that information out before storing
it?




Re: big mailbox v.s. rotated mailbox; thoughts

2002-01-02 Thread Philip Mak

I just had another thought: Might it make sense to store sent mail
together with normal messages?

A fundamental problem is that mutt's Search feature cannot search over
multiple mailboxes. Thus, if I want to review a series of e-mails that I
exchanged with someone about a specific topic, then it may be useful to be
able to see both sides of the conversation.

I'm thinking that it might make sense to keep only *new* mail in
~/Maildir/, though. For me, an e-mail message that I receive may represent
something that I have to do (e.g. reply to the e-mail, do what the person
in the e-mail told me to do, etc.). So, I could remove messages from my
inbox only when I have done the action that is associated with that
e-mail. This makes it less likely that I'll forget to do something (which
has happened before; I can be quite forgetful at times).

So perhaps:

- New mail is sent to ~/Maildir/.
- Messages that I have sent go to =old.
- I save messages to =old when I'm done with them.
- A daily cron job scans =old and moves 3-month-old messages into
  =archive.




Re: Where's the MAIL FROM line?

2002-01-02 Thread Philip Mak

On Wed, 2 Jan 2002, David T-G wrote:

 But it's used for message information, no?  It becomes the ^From: line,
 or at least so it appears.  That's why it's so easy to fake and so on,
 too, but it looks like whatever is put there would show up in the header.

It's not the ^From: line. For example, when I send e-mail to
[EMAIL PROTECTED], I think the SMTP transaction goes something like
this:

$ telnet localhost 25
HELO localhost
MAIL FROM:[EMAIL PROTECTED]
RCPT TO:[EMAIL PROTECTED]
DATA
From: Philip Mak [EMAIL PROTECTED]
To: Mutt Users' List [EMAIL PROTECTED]
Subject: Re: Where's the MAIL FROM line?

Message text goes here.
.

The MAIL FROM line is not necessarily the same as the ^From: line. In
mbox format, the former shows up as From user[@domain] date on the
first line of the message, but Maildir format doesn't have that.




Re: Support for Maildir in mutt

2002-01-02 Thread Philip Mak

On Tue, 1 Jan 2002, Sudhir Kumar wrote:

 We have qmail installed in our system and the default delivery mechanism
 is Maildir.How can I configure mutt to read mails from Maildir.

Put this in /etc/profile (or equivalent file if your system use something
else):

MAIL=$HOME/Maildir/

 Does mutt support Maildir format natively? If not is there a patch?

Yes. All you need to do is let mutt know where to find the Maildir, which
you can do using that line in /etc/profile. (Log out and log back in after
adding that line, or it won't work.)




Re: To log the time I spend in reading/writing a mail

2002-01-02 Thread Philip Mak

On Wed, 2 Jan 2002, Charles Jie wrote:

 Is it possible to have mutt record the time I use to read or write a
 mail? I hope to know how much time I spend in a folder (a kind of info).

 Further, I want a timer to alert me when I'm going to run out of the
 pre-set time for reading or writing a mail.

 Are the solution there? Or quick solution available?

I don't know of any existing solutions, but I can tell you where to start,
assuming you can program it yourself.

In .muttrc, you can ``set editor=some command''. Change that to run a
wrapper script that records the current time, starts your text editor
(e.g. pico or vi) in the background, and then keeps monitoring your
editor's PID to see if it's still running. If you take too long, then it
can write to /dev/yourterminal to tell you that you're taking too long.
When it sees that the PID has stopped running, it knows you're finished
and it can log the time that you tok.

The above method will enable you to see how long it takes you to write a
mail, but there's a bit of programming that you'd have to do.

As for seeing how long it takes you to read a mail, I think that you can
set mutt to use a different program to read a mail; if you do that, you'd
be able to use the same method as above. I'm not sure if you can still use
the mutt pager and be able to log how long it takes.

Of course, you can do anything if you patch mutt's source code, but it
will probably be more difficult since you have to write in C instead of
perl, and you have to figure out how mutt's source code works first.




Re: To log the time I spend in reading/writing a mail

2002-01-02 Thread Philip Mak

On Wed, 2 Jan 2002, Thorsten Haude wrote:

 I've just got used to the built-in pager and thought their combination
 is not bad. Thus I might not plan to replace it with 'less'.
 You might try $display_filter.

I was thinking about $display_filter... that command is indeed executed
when the user *starts* viewing a message, so an external timer program
could be hooked there. However, I don't think there's a program that gets
execuetd when the user *stops* viewing a message.

So it doesn't seem like the total time spent viewing a message can be
determined this way.




Re: How to allow mutt accept composing an empty-body mail?

2002-01-04 Thread Philip Mak

On Fri, Jan 04, 2002 at 12:37:03PM +0800, Charles Jie wrote:
 I didn't find suitable setting to make mutt not to abandon composing a
 mail without content. Help, please.
 
 charlie

set abort_nosubject=no # allow sending messages without subject
set abort_unmodified=no # allow sending messages without body



Re: multipart/alternative and text/html

2002-01-06 Thread Philip Mak

On Sun, Jan 06, 2002 at 09:21:25PM +0700, budsz wrote:
 How can I make mutt able to display text/html attachments inline, WITHOUT
 making it pick text/html (instead of text/plain) when the original message
 was sent as multipart/alternative? I find the text/html versions to be
 formatted worse.
 
 If you want to make easy pls install metamail, copy mailcap to home
 directory.

I don't understand how that applies to my problem... I already have
metamail installed on my system, and my .mailcap file IS in my home
directory.

BTW, why'd you CC your message to [EMAIL PROTECTED] instead of
[EMAIL PROTECTED]?



set mail_check lies

2002-01-07 Thread Philip Mak

set mail_check configures how often (in seconds) mutt should look
for new mail. I have it set to 5, but new e-mail that I receive does
*not* show up within 5 seconds.

It seems that it only shows up if I press a key in mutt.

Does anyone have any ideas?



Re: set mail_check lies

2002-01-07 Thread Philip Mak

On Mon, Jan 07, 2002 at 11:18:06AM +0100, René Clerc wrote:
 | set mail_check configures how often (in seconds) mutt should look
 | for new mail. I have it set to 5, but new e-mail that I receive does
 | *not* show up within 5 seconds.
 | 
 | It seems that it only shows up if I press a key in mutt.
 
 Do you have set the $mailboxes directive to look at the correct
 mailbox(es)?

I didn't have $mailboxes set, but I assumed that my inbox (~/Maildir/)
would be automatically included...

I just tried typing :mailboxes ~/Maildir/ and then sent a message to
myself and waited 10 seconds. Again, the message did not show up until
I pressed a key in mutt. (Yes, I've made sure that my mail server is
not delaying the message.)



Re: set mail_check lies

2002-01-07 Thread Philip Mak

On Mon, Jan 07, 2002 at 01:13:59PM +0100, Michael Tatge wrote:
 Philip Mak muttered:
  set mail_check configures how often (in seconds) mutt should look
  for new mail. I have it set to 5, but new e-mail that I receive does
  *not* show up within 5 seconds.
  
  It seems that it only shows up if I press a key in mutt.
 
 mailboxes must be set
 You have to find a balance between $mail_check and $timeout. See
 sections 4.12. and  6.3.215. of the manual.

Thanks. $timeout was the problem; since timeout defaults to 600
seconds, mutt will only check mail every 10 minutes no matter how
small $mail_check is, if I don't press a key!

I would like to suggest that the phrase See also timeout. or
something similar be added to the definition of mail_check in section
6.3 of the manual. Otherwise, someone might not realize that a low
value of mail_check may be useless if timeout is set too high.



Customizing mutt to work the way you want!

2002-01-07 Thread Philip Mak
# Don't ask me to press a key to continue after I did a shell escape
# and came back
set wait_key=no
# Leave a right margin of 1 character when wrapping lines in the pager
set wrapmargin=1

# I don't use PGP. Don't bother verifying peoples' signatures
unset pgp_verify_sig

set alias_file=~/.mail_aliases

# Load personal files; these files are separated so that I can
# distribute my .muttrc file to my other shell accounts or to other
# people
source ~/.mail_aliases
source ~/.muttrc2



 Move to the previous paragraph, even in quoted text.

function! PrevPara()
  if !search(^[ ]*$, 'bW')
1
  endif
endfunction


 Move to the next paragraph, even in quoted text.

function! NextPara()
  if !search(^[ ]*$, 'W')
$
normal o
  endif
endfunction


 HasFormatOptions(x)
 Return true if format option 'x' is in effect. Take care of no
 formatting when 'paste' is set.

function! HasFormatOptions(x)
  if paste || (a:x == 2  !autoindent)
return 0
  endif
  return formatoptions =~ a:x
endfunction


 Toggle line wrapping on or off.

function! WrapMode()
  if HasFormatOptions(t)
set formatoptions-=t
echo Line wrap turned off.
  else
set formatoptions+=t
echo Line wrap turned on.
  endif
endfunction

 When I press backspace, allow it to go back over to the previous
 line, and even past the point where I started inserting.
set bs=indent,eol,start
 Consider the '' character as a comment character, which allows vim
 to refill quoted paragraphs correctly.
set comments=nb:
 Required so that I can write ESC ENTER etc. below
set cpo-=
 Auto-wrap text.
 Auto-wrap quoted text, inserting   automatically as needed.
 Allow quoted text to be reformatted.
set formatoptions=tcqv
 Wrap lines at 70 characters.
set tw=70
 Redefine the { (previous paragraph) key to use my function.
map { :call PrevPara()ENTER
# Redefine the } (next paragraph) key to use my function.
map } :call NextPara()ENTER
# Make Ctrl-J rejustify the current paragraph (in both insert mode and
# command mode).
map C-J {gq}j
imap C-J ESC{gq}j
# Make \ key (in command mode) toggle line wrapping mode.
map \ :call WrapMode()ENTER
# Make Ctrl-K delete the current line like in pine.
imap C-K ESCdd


# I put my name and e-mail address here, since my server hosts
# multiple domain names.
my_hdr From: Philip Mak [EMAIL PROTECTED]

# List e-mail addresses being received by this mailbox, separated by a
# pipe (|).
set [EMAIL PROTECTED]


Good HTML to text converter?

2002-01-07 Thread Philip Mak

On Mon, Jan 07, 2002 at 08:50:16PM +0100, Michael Wagner wrote:
 I have this in my mailcap file:
 
 text/html; html2text %s; copiousoutput; nametemplate=%s.html
 
 because the output is much better than this lynx or w3m. Try it.

The problem that I see with lynx, w3m and links is that the -dump
output they produce is not so suited for plain text reading. For one
thing, all normal P.../P paragraph text is indented several
spaces. If you are looking at an HTML message that uses tables to
format things (rather than using tables to tabulate data), you DON'T
want table support when it gets converted to text.

What is this html2text program that you are using?



Re: Mutt sucks less than the rest

2002-01-07 Thread Philip Mak

On Mon, Jan 07, 2002 at 08:59:04PM -0500, Derek D. Martin wrote:
   Mike L, if you have tricks for figuring out WHICH mozilla window the
   page will pop up in, I'd like to see that.  
 
 Yeah, that'd do it, but I'd rather just leave one up and have it use
 the same one all the time.  No need to ENCOURAGE mozilla to leak
 memory...  ;-)

Can't you specify a target window name for the new link to open in? I
know that when you're writing HTML, you can do something like:

A HREF=somepage.html TARGET=windowname

and if you put TARGET=windowname for all your links, the links will
always open in the same window. Perhaps you can specify a TARGET from
the Mozilla command line?



Re: maildir (number of lines in index)

2002-01-08 Thread Philip Mak

On Tue, Jan 08, 2002 at 02:06:37PM -0600, David wrote:
 I did a quick check for maildir in the manual as well as a quick archive
 search but couldn't hit what I wanted.  I just switched a couple of my
 boxes to maildir to deal with NFS not setting mtime and atime properly.
 Only trouble so far is that with two new messages I have recieved in
 those boxes (all I have gotten in there so far), the number of lines
 show up as (   0), even though the message is not zero-length (when mutt
 opens it, in fact, it looks fine).  

You can either add a Lines: # header to each message which tells
mutt how many lines the message is.

Alternatively, I just do this:

set index_format=%4C %Z %{%b %d} %-15.15L (%4c) %s

That makes mutt display the size of the message in bytes instead of
lines, which does not rely on the headers. Being a former pine user,
I'm more used to seeing the size of the message in bytes (which also
makes more sense when people send me binary attachments).



Moving (not saving) a message to another folder

2002-01-31 Thread Philip Mak

I think that it would be nice to have the ability to move (not [S]ave)
a message to another folder in a single atomic operation, without
having to [$]Synchronize. (Assuming that the current folder is a
Maildir, where moving a message is just moving a file.)

In my conceptual model of e-mail, I view each message as a task to be
done (e.g. I have to reply to the mail, or the mail is telling me to
do something, etc.).

So, it makes sense for me to keep my inbox clean so that it only
contains messages that I still have to do something about. Any
messages that I have finished, I move them into my done folder.

It would be convenient to be able to use a Move command in mutt that
immediately moves the message into the done folder (on the
filesystem level, it's just an mv from one Maildir to another) and
immediately makes it disappear from the message list of the current
folder.

Right now, I have to [S]ave then [$]Synchronize, which takes longer.

Thoughts?



Re: Moving (not saving) a message to another folder

2002-01-31 Thread Philip Mak

On Thu, Jan 31, 2002 at 07:25:41PM +0100, Adam Byrtek wrote:
 On Thu, Jan 31, 2002 at 01:03:32PM -0500, Philip Mak wrote:
  So, it makes sense for me to keep my inbox clean so that it only
  contains messages that I still have to do something about. Any
  messages that I have finished, I move them into my done folder.
 
 folder-hook mbox macro index d 'save-message=archive\n' 'archive message'
 folder-hook mbox macro pager d 'save-message=archive\n' 'archive message'
 
 But I'm not sure is this what are you looking for. If you want to, you
 could add 'synchronize' at the end of this macro, but I prefer not to
 - I tend to delete sometimes some mail by mistake.

That's not quite what I wanted to do. I wouldn't want to save *every*
message to the archive (some messages are not useful to keep around,
e.g. spam etc.).

Making a hook macro to save the message to the archive mailbox would
make it slightly faster, but the synchronize part is also a problem.
Right now, in order to make the moved message disappear immediately
from the message listing, I would have to synchronize, which would
also delete any messages (and also takes a second or two; synchronize
is not instantaneous).

I suspect what I'm talking about would not be possible without hacking
the mutt source code. Anyone have ideas on how to do this (and how
many other people are interested in having such a feature? :).



Re: Moving (not saving) a message to another folder

2002-01-31 Thread Philip Mak

On Thu, Jan 31, 2002 at 12:46:03PM -0600, Knute wrote:
  Right now, in order to make the moved message disappear immediately
  from the message listing, I would have to synchronize, which would
  also delete any messages (and also takes a second or two; synchronize
  is not instantaneous).
 
 Have you tried to simply set the color for deleted messages to black on
 black (or whatever bg color you are using)?
 
 Here's what I have in mine:
  color index  black  black  ~D # Deleted
 
 It's quick,  easy to set up,  and removes it from sight.  Then once you
 are done,  you can synchronise your box,  and get rid of them.

Interesting. That almost does exactly what I wanted, except that it
leaves a hole on the screen. I guess I'll use that if I can't come up
with anything better. Thanks.



Exporting a message?

2002-01-31 Thread Philip Mak

How do I save a message to a file (like the [E]xport command in pine)
such that all text attachments are included, as well as the headers of
the message?

The best way I've found is to press [e]dit, then use the :w command in
vi to write it out to a file. That takes a few more keystrokes than
it should though, and also includes all the headers of the message
(instead of just the my_hdr ones).



Re: Exporting a message?

2002-01-31 Thread Philip Mak

On Thu, Jan 31, 2002 at 11:29:57PM -0800, Michael Elkins wrote:
  How do I save a message to a file (like the [E]xport command in pine)
  such that all text attachments are included, as well as the headers of
  the message?

 If your $mbox_type is set to mbox, then a simple C (copy-message) will
 do what you want.  Otherwise you will need to create a macro like such:
   macro E index pipe-messagecat  
 and just append the filename you want to the end of the command.

It should be macro index E, not macro E index, BTW. (I'm using
Maildir, not mbox.)

That's a bit better than pressing e and using the vi :w command to
save the message. It's still not as good as pine's [E]xport command,
though. It will write out all the uninteresting headers of the message
(Return-Path, Delivered-To, Received, Message-ID, etc.) rather than
only the ones I've defined in the my_hdr configuration option. When
I export a message, I'm doing it for the purpose of printing it or
including it in a document I'm writing so I wouldn't want all those
extra headers.

I don't suppose there's a command like pipe-message, except that it
filters headers (the header filtering code is already available in the
pager, after all)? Or would I have to write an external header
filtering program and then do something like:

macro index E pipe-message perl filter_header.pl  

which isn't exactly the optimal solution, since an external program
does not have ready access to my configuration file my_hdr settings,
but would work I suppose.



timeout/mail_check doesn't always work?

2002-02-02 Thread Philip Mak

I have the following lines in my .muttrc file:

set mail_check=5 # check for new mail every 5 seconds
set timeout=10 # if no keypress in 10 seconds, check for new mail

It doesn't seem to work correctly always, though. What's been
happening is that I run screen and I leave multiple instances of mutt
open in different folders.

I'm inside the mutt that reads ~/Maildir/. I save a message into the
=done folder. 10 minutes later, I switch to the mutt in the =done
folder but it doesn't show the message that I just saved until I press
a key.

Any idea why?



[e]dit command causes new mail?

2002-02-04 Thread Philip Mak

When I use the [e]dit command in mutt to edit a message in my folder
(e.g. to add my own annotations to it), it deletes the old message and
delivers the message I just edited as a new message into my mailbox.

Wouldn't it make more sense for mutt to just apply the edit to the
message without having to re-create it, at least when the folder in
question is a Maildir? I think that for running the [e]dit command on
a message in a Maildir, mutt should just start vi with the message
file as the argument and it doesn't need to do anything else.



Re: Wish about mutt's file browser

2002-02-04 Thread Philip Mak

On Tue, Feb 05, 2002 at 12:46:17AM +0800, Charles Jie wrote:
 2. The 'ls' don't group directories/files into two part.
- If you code something to achieve it, you lose the COLORs.

Try typing this and see if it does what you want:

ls -d `find * -type d -maxdepth 0`; ls `find * -type f -maxdepth 0`

You could put this in your .bashrc (or equivalent file):

alias dir=ls -d `find * -type d -maxdepth 0`; ls `find * -type f -maxdepth 0`

and then just type dir and you will see the directories, followed by
the files, and it's sorted and has color.

Warning: It might not work right for directories that have a huge
number of files due to limits in argument list length.



People who don't wrap their lines

2002-02-07 Thread Philip Mak

I'm having trouble reading messages from people who don't wrap their
lines. They have it so that one paragraph is a very long line, but it
seems to cut off after about 255 characters, i.e. I can only see the
first 255 characters of each line in the pager.

I can't reproduce this always, though. If I send a message to myself
that has a very long line, it comes through fine. I think it might
require certain MIME conditions.

Any idea what I'm talking about? I can forward a specific message that
should cause these conditions.



New mail notification ideas

2002-02-12 Thread Philip Mak

One thing that I've always missed since I switched from pine to mutt
was pine's more verbose e-mail notification. Instead of just saying
New mail in this mailbox. it would say something like:

  [New mail from Philip Mak re New mail notification ideas]

Also, pine checks for new mail when it is in the pager. In mutt's
case, it doesn't, so if I stay inside the pager for hours then I won't
see any new messages.

I would like to suggest that these features (verbose new e-mail
notification line, and check for new mail while in the pager) be
implemented in mutt.



Re: ^From line?

2002-02-12 Thread Philip Mak

On Tue, Feb 12, 2002 at 09:05:37AM -0800, Carl B. Constantine wrote:
 Wrong. It's actually part of one of the internet RFC's. MUTT is not the
 only client that does this. All E-mail programs place a quoted symbol
 '' for most people by the word From if it's the first word in a
 paragraph.

Going a bit off topic:

Unfortunately, the '' seems to be placed inconsistently. For example,
if I send a message with the following line using pine:

From asdf

then the copy of the message saved in the sent-mail mbox does NOT have
a '' before the From.

But the exim MTA on the other end that receives the message will write
it to the recipient's mbox as From asdf.

Because of this inconsistency, I think it's impossible to determine
for certain whether the message was sent with '' in the first place
(which could happen if someone quoted a message without putting a
space after the '', for example).

It seems to work in most cases to s/^From/From/g, though.



stupid PGP question

2002-02-12 Thread Philip Mak

I couldn't find the answer in the manual, so I'm asking it here:

How do I make mutt not bother checking PGP signatures on messages
(since I don't have anyone's PGP keys anyway)?



How is maildir_trash supposed to work?

2002-02-15 Thread Philip Mak

I'm a bit confused about how to use maildir_trash.

If maildir_trash is off, then when I quit mutt, if I answer no to
purging the messages, then it will lose all the Deleted flags.

If maildir_trash is on, then that works. However, then it doesn't seem
to be possible to purge deleted messages anymore; I press $ and it
asks

Purge 1 deleted message? ([yes]/no): 

and I answer yes, but the message still remains in my mailbox.

Is it not possible to be able to do BOTH of these:
- save Deleted flags in messages
- really purge a message

pine can do it, out of the box.



Aborting a message

2002-02-19 Thread Philip Mak

When I press 'q' to abort a message being composed, is there a way to
make it ask:

Abort this message? (y/N)

(answering y will exit the message composing screen and throw away the
message; answering n will do nothing, i.e. don't postpone it, but
don't throw it away either)

instead of asking me whether to postpone it? That prompt confuses me
sometimes; about twice, I've thought no I don't want to postpone the
message; I want to send it; I just pressed q by accident so I
answered no, which causes the message to be thrown away.



Any mailbox cleaner program?

2002-02-19 Thread Philip Mak

Does anyone know of a program that I can set as a cron job to go
through an mbox file, and delete all messages that are from a mailing
list and are 21 days old?



Reply quoting an unwrapped message

2002-02-21 Thread Philip Mak

When I reply to a message that was composed without line wrapping
(i.e. each paragraph is one long line), how can I make mutt wrap it
before inserting  ? e.g. instead of:

 You know I have a question...is anyone else besides me and Erica looking at these 
vids? Just checking, because if no one on here wants review board duty then let me 
know and I won't throw them in your face anymore ;p

I'd like to see:

 You know I have a question...is anyone else besides me and Erica
 looking at these vids? Just checking, because if no one on here
 wants review board duty then let me know and I won't throw them in
 your face anymore ;p



Re: Reply quoting an unwrapped message

2002-02-21 Thread Philip Mak

On Thu, Feb 21, 2002 at 05:26:19PM -0800, Will Yardley wrote:
  I suppose I could code some sort of startup code in 'vi' to find and
  wrap long lines, but how would I make it only trigger when 'vi' is
  being started on composing a new reply (and not any other time, e.g.
  editing an existing message)?
 
 call vi with an option to do this (ie set editor=vim +'blah'...

But that also affects when I press the [e]dit key to edit a message in
my mailbox, for example.

I'd want the option to ONLY take effect when vi is being called after
I pressed [r]eply.

 the problem is, that if you have stuff like this:
 
   blah blah blah
   $ ls /foo/bar
   $ cd blah
 
 it will get reformatted like this: 
 
   blah blah blah $ ls /foo/bar $ cd blah

Well, I was thinking of making it only reformat lines that are too
long. This will make the above case work. Although, if someone sends
the output of a program to me and it's just long enough to exceed 80
characters when   is added to it, then that would be wrapped
undesirably.

How does pine do it, anyway? pine wraps paragraphs in replies fine.
They seem to have some heuristic or something that does the right
thing almost all the time...



Re: SMTP Authorization

2002-02-23 Thread Philip Mak

On Sat, Feb 23, 2002 at 12:27:15PM +0100, Martin Karlsson wrote:
 The 'USER: unknown' bit makes me think you should try just:
 
 set pop_user = jerryvb
 
 Otherwise the POP-server thinks you're trying to log in as
 [EMAIL PROTECTED]@pop3.ispwest.com.

I don't think that's the problem. I tried telneting to
pop3.ispwest.com 110 and entering that invalid username:

$ telnet pop3.ispwest.com 110
Trying 216.52.245.18...
Connected to pop3.ispwest.com.
Escape character is '^]'.
+OK VopMail POP3 Server 5.2.203.0 Ready
[EMAIL PROTECTED]
USER [EMAIL PROTECTED]@pop3.ispwest.com
+OK [EMAIL PROTECTED]@pop3.ispwest.com is welcome here

Doing that does not cause the USER: unknown or invalid command in
this state error message.

I'm guessing that 'mutt' is entering some extraneous commands before
giving the USER command. Look at this:

$ telnet pop3.ispwest.com 110
Trying 216.52.245.18...
Connected to pop3.ispwest.com.
Escape character is '^]'.
+OK VopMail POP3 Server 5.2.203.0 Ready
[EMAIL PROTECTED]
USER jerryvb 
+OK jerryvb is welcome here
USER jerryvb
-ERR unknown or invalid command in this state [USER]

That tells me that the unknown or invalid command in this state
error message happens when mutt enters the USER command when the
server is not expecting it.



Suggest addition to manual

2002-02-23 Thread Philip Mak

In the Reference section of the manual, I recommend adding a warning
at the place where it describes imap_pass and pop_pass:

mutt's bug reporting program will send the user's .muttrc file to
everyone on the development list, so imap_pass and pop_pass should
really be put in a separate file sourced from .muttrc. The user should
be aware of this.



Using scoring to delete old mailing list messages

2002-02-26 Thread Philip Mak

I configured mutt to automatically delete messages from mailing lists
that are older than 21 days, provided that the message is not flagged
or addressed to me. Here's what I came up with, in case it's useful to
anyone else:

my_hdr From: Philip Mak [EMAIL PROTECTED]
# alternate e-mail addresses
set 
alternates=pmak@animeglobe\.com|pmak@animelyrics\.com|pmak@trapezoid\.interserver\.net

set score # set scoring on   
score ~A 5000 # default score is 5000
set score_threshold_delete=0 # Delete messages with score = 0
score ~F +1000 # Increase score of flagged messages
score ~p +1000 # Increase score of messages addressed directly to me

# Decrease score of messages from mailing lists older than 21 days
score ~e [EMAIL PROTECTED] ~r 21d -5000
score ~e [EMAIL PROTECTED] ~r 21d -5000
score ~e [EMAIL PROTECTED] ~r 21d -5000
score ~e [EMAIL PROTECTED] ~r 21d -5000
score ~C vim@vim\.org ~r 21d -5000
score ~C mysql@lists\.mysql\.com ~r 21d -5000
score ~C online-ads@o-a\.com ~r 21d -5000



Re: Is mutt really handicapped?

2002-03-07 Thread Philip Mak

On Wed, Mar 06, 2002 at 09:01:09AM -0500, Ben Logan wrote:
  Yes, it doesn't have nice and point-and-clicky interface, but I don't like
  them, anyway.
 
 Like many of you on this list probably do, I get several hundred
 messages a day (up to 600).  I almost hyperventilate at the thought of
 trying to navigate through them with a pointy-clicky interface.  There
 are some things that point-and-click GUIs are good for, but they are
 usually (in my experience) far less efficient than an interface like
 mutt's.  Therefore, I consider mutt's interface another plus. :)

Yeah, it would be a pain to have to point and click around to [D]elete
through several messages, for example!

I do find the mouse to be useful in some cases though: If I want to go
to a specific message on the screen, it would be easier to just click
it with the mouse than figuring out how many times I have to hit the
arrow keys to get there.

Also, some GUI mail clients allow opening multiple windows to show
more than one message at a time. That functionality is useful for when
I want to compose a single reply to multiple messages, for example.
(In mutt or pine, if I wanted to go look at another message while I'm
already writing one, I'd have to postpone it, go look, and come back.)



Writing a memo to myself

2002-04-12 Thread Philip Mak

Scenario: I want to write a memo to myself that appears in my inbox.
What's the easiest/fastest way to do this?

Right now I'm doing m, pmakENTER, subjectENTER and then
typing it. A side effect of this is that the memo ends up in my
sent-mail folder too.

Oh, is it a bug that when I press y to send a message, it won't let
me send the message if no recipients are specified (but there's an
Fcc: specified)?



Re: New Messages Flag

2002-05-13 Thread Philip Mak

On Mon, May 13, 2002 at 09:59:40AM -0500, David T-G wrote:
 % I'm trying to get a new message flag to display in front of my
 % folder name in the folder index view. So I'm doing the following:
 % 
 %set folder_format=%2C %N %8s %d %f
 
 % I'm seeing:
 % 
 %10  66442 May 13 08:48 apache_users
 
 Hmmm...  That says to me that your access-time timestamp has been updated
 by something looking at the folder, be it biff or wnewmail or your shell
 or even mutt.

How about trying a simple test to isolate where the problem is (i.e.
is it a set folder_format problem, or is some other process messing
with the timestamp):

What happens if you remove the set folder_format from your .muttrc
and then restart mutt? Will that make the N flag show up correctly?



text/plain is unsupported?

2002-06-04 Thread Philip Mak

I just got this e-mail message, and when I looked at it in the pager,
all I saw was this:

Date: Tue, 4 Jun 2002 02:40:08
From: Ryan Edwards [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]   
To: [EMAIL PROTECTED]
Subject: Classic Cars or parts for sale

[-- text/plain, is unsupported (use 'v' to view this part) --]   

Is this a bug in mutt, or was that message just badly formed MIME?

---BeginMessage---



Hi,

I was just wondering if you had any Classic Cars or parts for sale. Please let me know 
either way.

Thanks,
Ryan Edwards




---End Message---


[a]lias command

2002-06-24 Thread Philip Mak

I don't like the user interface for the [a]lias command.

When I add an alias, it prompts me through a series of one-line
prompts in the status bar. If I make a mistake, I have to press Ctrl+G
and start the whole series of prompts over. And, it asks me at the end
where I want to save the alias (I'd rather it not ask me, and always
save to .mail_aliases). Furthermore, I run multiple copies of mutt in
screen, and if I add an alias in one mutt, it doesn't show up in the
other mutts unless I re-source .mail_aliases.

Pine has a nicer interface. When I press a in Pine, it opens a full
screen where I can fill out a form (and move between the fields I'm
filling out), and then when I save it it doesn't ask me what file to
save it to; it just saves it to the default aliases file.

Anyway:

1. At least, can I configure mutt to not ask what file to save the
alias to?

2. I'm thinking that some disk-based database (e.g. GDBM) would be
more appropriate for aliases, rather than a text file that is sourced
when mutt starts. This would fix the problem of aliases in one mutt
not showing up in other mutts. (Also, if someone has a lot of aliases
GDBM would be more efficient. I don't think anyone would have hundreds
of aliases, though...)

Thoughts?



[OT] Re: spamassassin

2002-08-19 Thread Philip Mak

An off-topic query concerning spamassassin:

Can it be set to delete spam automatically (I'm not so interested in
just *marking* spam, because if it only marks spam I still have to
sift through it), without getting too many false positives?

I'm thinking of doing something about the 20+ spam messages I get each
day.