procmail
[Top] [All Lists]

Re: Replacing characters in $MATCH, and folders with periods

2004-04-09 06:43:54
Timur Tabi wrote:

The problem occurs when xxx contains a period.  Then procmail interprets
the period in $MATCH as a folder delimiter.

No, it's not procmail interpreting it that way. The server's imapd and your IMAP client do. Procmail creates or uses a folder with an embedded period in its name, just as you tell it to do, and the IMAP programs consider the period as an element separator. Procmail has no idea that the period is special to your imapd.

If you could look at the actual file storage on the server, you'd see that the folder is named amazon.com, not amazon/com. Procmail did what you told it to. You're blaming the wrong program.

Instead I want it to create a folder called amazon.com and put the email
in there.  How do I do that?

Short answer: you can't.

If you controlled the server, you could switch to an imapd that uses the foreslash (and therefore actual Unix directory levels) as the element separator, such as UW instead of Cyrus or Courier. Since you haven't the access to see the actual filenames on the server, I'd have to guess that you are a rank-and-file user there and are not in a position to replace the imap server software.

So you have two options:

1. Live with it as it is.
2. Change the periods to some other character before you use them in foldernames.

For example,

 :0
 * FOLDERNAME ?? ()\.
 .`echo "$FOLDERNAME | tr . :`/
 :0E
 .$FOLDERNAME/

I get nearly all my email on a Courier IMAP system and using colons in foldernames with no difficulty; in fact, .:procmail/ is the name of the maildir where procmail files mail I receive through this list, including your posts about this very question. Other potentially workable characters are comma or underscore or plus.



_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>