---
name: "pycmail"
section: "1"
platform: "linux"
package: "pycmail"
version: "0.1.6"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pycmail"
---

# pycmail(1)

mail sorter

## NAME

pycmail - mail sorter

## SYNOPSIS

**pycmail** *\[-d debuglevel\] \[-t\] \[-c conffile\] \[file1 file2 file3 ...\]*

## DESCRIPTION

**pycmail** is a mail sorter similar to procmail, written in python, using python syntax for mail delivery.

## OPTIONS

- **file1**

  **file2** **...** read mails from file1 file2 ... instead of from stdin (useful for mail postprocessing)

- **-d level, --debuglevel level**

  set debuglevel to level.

- **-t**

  testing mode. No mail delivery will be done. Use in conjuction with **-d**

- **-c conffile, --config=conffile**

  use file  **conffile** as a user configuration file (instead of **~/.pycmailrc** )

- **-D define**

  add  **define** to the DEFINES list (this can be tested later in the .pycmailrc to modify the behaviour). Can be repeated several times to add more strings.

## USAGE

**pycmail** should be invoked automatically from the  *.forward* file when mail arrives.

Default debuglevel is 0, which means pycmail tries to deliver mail in almost foolproof  way: if there is any error in  *~/.pycmailrc* file, mail will be delivered to the  default mailbox (such as  */var/spool/mail/USERNAME* ).

If the debuglevel is 1, any error in  *~/.pycmailrc* file will be printed, resulting in bounced mail (but pycmail will still  try to deliver the mail to default mailbox).

Higher debuglevels will print more information about the actual mail processing. The bigger the debuglevel, the more detailed information is printed.

To test your configuration, do something like this:

```
formail -s pycmail -d 2 -t < your_test_mailbox_file
```

## SEE ALSO

[**procmail**(1)](/procmail/1.md), [**lockfile**(1)](/lockfile/1.md), [**formail**(1)](/formail/1.md)

## AUTHOR

Radovan Garabík \<garabik @ kassiopeia.juls.savba.sk\>
