Home

Awesome

Maildir processor for the Go-guerrilla package.

Maildir is a popular email storage format.

About

This package is a Processor for the Go-Guerrilla default backend implementation. Use for this in your project if you are using Go-Guerrilla as a package and you would like to add the ability to deliver emails to Maildir folders, using Go-Guerrilla's default backend.

Usage

Import "github.com/flashmob/maildir-processor" to your Go-guerrilla project. Assuming you have imported the go-guerrilla package already, and all dependencies.

Then, when using go-guerrilla as a package, do something like this



cfg := &AppConfig{
    LogFile:      "stderr",
    AllowedHosts: []string{"example.com"},
    BackendConfig: backends.BackendConfig{
        "save_process" : "HeadersParser|Debugger|MailDir",
        "validate_process": "MailDir",
        "maildir_user_map" : "test=-1:-1",
        "maildir_path" : "_test/Maildir",
    },
}
d := Daemon{Config: cfg}
d.AddProcessor("FastCGI", fastcgi_processor.Processor)

d.Start()

// .. keep the server busy..

Note that here we've added MailDir to the end of the save_process config option, then used the d.AddProcessor api call to register it. Then configured other settings.

See the configuration section for how to configure.

Configuration

The following values are required in your backend_config section of your JSON configuration file

Don't forget to add MailDir to the end of your save_process config option, eg:

"save_process": "HeadersParser|Debugger|Hasher|Header|MailDir",

also add MailDir to the end of your validate_process config option, eg:

"validate_process": "MailDir",

Example

Take a look at Maildiranasaurus - an SMTP server that uses Go-Guerrilla as a package and adds Maildir delivery using this package.

Credits

This package depends on Simon Lipp's Go MailDir package.