#

# Lamson Project Documentation

This is the Lamson documentation, organized into categories from “newbie” to “expert”. You should also check out the screen casts available which might help you if you’re the more mediated type.

The documentation is only updated after major releases, and it may not have the best information. If you are following the docs and they’re wrong, then send an email to lamson@librelist.com and report it.

Finally, every document is also uploaded with it’s text version.

## Initial Concepts

- Frequently Asked Question — Questions people have asked about Lamson.
- Getting Started — A fast tour of getting Lamson going and doing something with it.
- Lamson Commands — All of the commands Lamson supports. You can get at this with `lamson -help`.
- Introduction To Finite State Machines — Important to understand the simplified version of Finite State Machines Lamson uses.

## Advanced Concepts

- Deferred Processing To Queues — Very handy way of processing mail.
- Writing A Custom State Store — You’ll need this if you want to store state in the database.
- Primary Vs. Secondary Registration — The concept of doing registration in Lamson, where contacting the service the first time is the registration.
- Hooking Into Django — Shows you how to get access to a Django ORM model.

## Deployment

- Deploying Lamson Level 0 With Virtualenv And Pip — Quick instructions for setting up your Lamson in a virtualenv for your first simple deployment.
- Deploying Lamson Level 1 — This is for when you’re getting more serious about deployment. Involves building a completely separate virtualenv+python for Lamson and shows deploying oneshotblog in it.
- Deploying Lamson Level 2 — At this level of deployment you are running multiple sites on the same server using a virtualhost setup, and you have each application installed under its own user.

## Deployment: Examples

- Deploying OneShotBlog

## Specific Features

- Unit Testing — Lamson has a few simple things to help write better mail specific unit tests.
- Confirmations — Confirming a user so that you validate they are an actual email address.
- Filtering Spam — How to use Lamson’s spam blocking features. It’s easy to use, but a bit hairy to setup.
- Bounce Detection — Using Lamson’s bounce message parser to handle bounces.
- Unicode Encoding And Decoding — How Lamson decodes the nastiest email into Unicode, and then converts Unicode back into a clean email for sending.
- HTML Email Generation — Using Lamson’s HTML email generation library to send out HTML to annoy everyone with.