Man Linux: Main Page and Category List


       Lamson  -  Lamson  is  a  modern  Pythonic mail server built like a web
       application server.


       lamson <action> [options]


       lamson is a pure Python SMTP  server  designed  to  create  robust  and
       complex mail applications in the style of modern web frameworks such as
       Django. Unlike traditional  SMTP  servers  like  Postfix  or  Sendmail,
       Lamson has all the features of a web application stack (ORM, templates,
       routing, handlers, state machines, Python) without needing to configure
       alias  files, run newaliases, or juggle tons of tiny fragile processes.
       Lamson also plays well with other web frameworks and Python  libraries.


       log  [-port  PORT]  [-host  HOST]  [-pid  PIDFILE] [-chroot True|False]
       [-chdir DIR] [-umask UMASK] [-uid UID] [-gid GID] [-FORCE True|False]
              Runs a logging only server on the given hosts and port.  It logs
              each message it receives and also stores it to the run/queue  so
              that you can make sure it was received in testing.

              lamson log -port 8825 -host \
                          -pid ./run/ -chroot False  \
                          -chdir "." -umask False -uid False -gid False \
                          -FORCE False

              If  you  specify  a  uid/gid  then  this means you want to first
              change to root, set everything up, and then drop to that UID/GID
              combination.  This  is  typically so you can bind to port 25 and
              then become "safe" to continue operating as a non-root user.

              If you give one or the other, this it will just change  to  that
              uid or gid without doing the priv drop operation.

       send [-port PORT] [-host HOST] [-debug 0|1] [-sender EMAIL] [-to EMAIL]
       [-subject SUBJECT] [-body BODY] [-attach FILENAME]
              Sends  an  email  to someone as a test message. See the sendmail
              command for a sendmail replacement.

              lamson send -port 8825 -host -debug 1 \
                          -sender EMAIL  -to  EMAIL  -subject  STR  -body  STR
              -attach False’

       sendmail [-port PORT] [-host HOST] [-debug 0|1] -- [RECIPIENTS]
              Used  as a testing sendmail replacement for use in programs like
              mutt as an MTA.  It reads the email to send  on  the  stdin  and
              then delivers it based on the port and host settings.

              lamson   sendmail   -port  8825  -host  -debug  0  --

       start [-pid PIDFILE] [-FORCE True|False] [-chroot  True|False]  [-chdir
       DIR] [-umask UMASK] [-uid UID] [-gid GID] [-boot BOOTMODULE]
              Runs a lamson server out of the given directory.

              lamson start -pid  ./run/  -FORCE  False  -chroot  False
              -chdir "." \
                          -umask False -uid False -gid False -boot config.boot

       stop [-pid PIDFILE] [-KILL True|False] [-ALL DIR]
              Stops a running lamson server.   Give  -KILL  True  to  have  it
              stopped  violently.  The PID file is removed after the signal is
              sent.  Give -ALL the name of a run directory and  it  will  stop
              all pid files it finds there.

              lamson stop -pid ./run/ -KILL False -ALL False

       restart [-pid PIDFILE] [-FORCE True|False] [-chroot True|False] [-chdir
       DIR] [-umask  UMASK]  [-uid  UID]  [-gid  GID]  [-boot  CONFIG]  [-KILL
       True|False] [-ALL DIR]
              Simply  attempts  a  stop and then a start command.  All options
              for both apply to restart.

       status [-pid PIDFILE]
              Prints out status information about lamson  useful  for  finding
              out if it’s running and where.

              lamson status -pid ./run/

       queue [-pop|-get|-remove|-count|-clear|-keys] [-name QUEUE]
              Let’s you do most of the operations available to a queue.

              lamson  queue  (-pop | -get | -remove | -count | -clear | -keys)
              -name run/queue

       routes [-path PATH] -- [CONFIG] [-test EMAIL]
              Prints out valuable information about an  application’s  routing
              configuration after everything is loaded and ready to go.  Helps
              debug problems with messages not getting to your handlers.  Path
              has  the search paths you want separated by a ’:’ character, and
              it’s added to the sys.path.

              lamson routes -path $PWD -- config.testing -test ""

              It defaults to running your config.testing to load  the  routes.
              If you want it to run the config.boot then give that instead:

              lamson routes -- config.boot

              You can also test a potential target by doing -test EMAIL.

       gen [-project NAME]
              Generates various useful things for you to get you started.

              lamson gen -project STR

       spell [-language LANG] -- [FILES]
              Runs the PyEnchant spell checker on the given file.  Use this to
              train the spell checker for unit test runs when new  words  show

              lamson spell -langauge en_US -- [files]

              It will run interactively and if you perform an edit on the file
              it will save your changes back to the file  and  make  a  backup
              named with .bak.

       web [-basedir DIR] [-port PORT] [-host HOST]
              Starts  a  very simple files only web server for easy testing of
              applications that need to make some HTML files as the result  of
              their  operation. If you need more than this then use a real web

              lamson web -basedir "." -port 8888 -host ’’

              This command doesn’t exit so you can view  the  logs  it  prints

       cleanse [-input MAILBOX] [-output MAILBOX]
              Uses  Lamson  mail cleansing and canonicalization system to take
              an input maildir (or mbox) and replicate  the  email  over  into
              another maildir.  It’s used mostly for testing and cleaning.

       blast [-input MAILBOX] [-port PORT] [-host HOST] [-debug 0|1]
              Given  a  maildir,  this  command will go through each email and
              blast it at your server.  It does nothing to the message, so  it
              will be real messages hitting your server, not cleansed ones.

              Prints  the  version of Lamson, the reporitory revision, and the
              file it came from.

       help [-for CMD]
              Prints out help for the commands.

              lamson help

              You can get help for one command with:

              lamson help -for STR


       Full documentation for lamson can be found at


       Please report bugs at


       This manual page was written by David Watson <>

                                25 August 2009