Re: [9fans] Unescaped From in mail items

2008-02-06 Thread erik quanstrom
 Acme mail now reports multiple messages in the destination folders such
 as:
 
 111/  $199
 110/  $349
 109/  Apple [EMAIL PROTECTED]   Tue 19 Jun 2007
   iPod Gift Wrapping is now available.
 
 upas/nedmail reports that the folder has 0 items in it, Acme mail that
 it has 136 items.
 
 Were the messages on the original server invalid before I started, is
 acme mail handling them incorrectly when saving, or does upas/fs not
 interpret them correctly after they've been saved locally?

this depends on your perspective.  upas says that's invalid.  this is what
i use to solve the problem by editing the mail.  (sed converts to
runes -- that's why it is avoided.)

- erik

; cat qfrom.c
/*
 * quote from lines without messing with character encoding.
 *  (might rather just undo the character encoding and use sed.)
 */

#include u.h
#include libc.h
#include bio.h

void
qfrom(int fd)
{
Biobuf b, bo;
char *s;
int l;

if(Binit(b, fd, OREAD) == -1)
sysfatal(Binit: %r);
if(Binit(bo, 1, OWRITE) == -1)
sysfatal(Binit: %r);

while(s = Brdstr(b, '\n', 0)){
l = Blinelen(b);
if(l = 5)
if(memcmp(s, From , 5) == 0)
Bputc(bo, ' ');
Bwrite(bo, s, l);
free(s);
}
Bterm(b);
Bterm(bo);
}

void
usage(void)
{
fprint(2, usage: qfrom [files...]\n);
exits();
}

void
main(int argc, char **argv)
{
int fd;

ARGBEGIN{
default:
usage();
}ARGEND

if(*argv == 0){
qfrom(0);
exits();
}
for(; *argv; argv++){
fd = open(*argv, OREAD);
if(fd == -1)
sysfatal(open: %r);
qfrom(fd);
close(fd);
}
exits();
}


[9fans] Unescaped From in mail items

2008-02-05 Thread Adrian Tritschler
I've just been archiving a bunch of old email that was sitting in IMAP
folders on a unix system somewhere into local folders on a plan9 system.
I used acme mail to access the remote IMAP folder then save the items I
wanted to local folders.

Some of these have an unescaped ^From in the text, which seems to have
caused problems when I've saved them to the local mail folders.

The culprits seem to be multipart MIME, similar to:

  From [EMAIL PROTECTED] Tue Jun 19 12:14:30 EST 2007
  Return-Path: ...
  Content-Type: multipart/alternative; 
boundary==_Part_6716595_5283499.1182218824922

  --=_Part_6716595_5283499.1182218824922
  Content-Type: text/plain; charset=ISO-8859-1
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: inline

  Blah blah blah
  From $349
  ...
  --=_Part_6716595_5283499.1182218824922
  Content-Type: text/html; charset=ISO-8859-1
  Content-Transfer-Encoding: quoted-printable
  Content-Disposition: inline
  ...misc HTML...
  --=_Part_6716595_5283499.1182218824922--

Acme mail now reports multiple messages in the destination folders such
as:

111/$199
110/$349
109/Apple [EMAIL PROTECTED]   Tue 19 Jun 2007
iPod Gift Wrapping is now available.

upas/nedmail reports that the folder has 0 items in it, Acme mail that
it has 136 items.

Were the messages on the original server invalid before I started, is
acme mail handling them incorrectly when saving, or does upas/fs not
interpret them correctly after they've been saved locally?

 Adrian