MCPcopy Index your code
hub / github.com/foxcpp/maddy

github.com/foxcpp/maddy @v0.9.5

repository ↗ · DeepWiki ↗ · release v0.9.5 ↗ · + Follow
1,744 symbols 7,177 edges 287 files 280 documented · 16% updated 3d agov0.9.5 · 2026-05-23★ 6,027127 open issues
README

Maddy Mail Server

Composable all-in-one mail server.

Maddy Mail Server implements all functionality required to run a e-mail server. It can send messages via SMTP (works as MTA), accept messages via SMTP (works as MX) and store messages while providing access to them via IMAP. In addition to that it implements auxiliary protocols that are mandatory to keep email reasonably secure (DKIM, SPF, DMARC, DANE, MTA-STS).

It replaces Postfix, Dovecot, OpenDKIM, OpenSPF, OpenDMARC and more with one daemon with uniform configuration and minimal maintenance cost.

Note: IMAP storage is "beta". If you are looking for stable and feature-packed implementation you may want to use Dovecot instead. maddy still can handle message delivery business.

CI status Issues tracker

Extension points exported contracts — how you extend this code

LifetimeModule (Interface)
LifetimeModule is a stateful module that needs to have post-configuration startup and graceful shutdown functionality. [11 …
framework/container/lifetime.go
Table (Interface)
Table is the interface implemented by module that implementation string-to-string translation. Modules implementing thi [18 …
framework/module/table.go
Output (Interface)
(no doc) [8 implementers]
framework/log/output.go
L (Interface)
The L interface represents a blocking limiter that has some upper bound of resource use and blocks when it is exceeded u [4 …
internal/limits/limiters/limiters.go
Buffer (Interface)
Buffer interface represents abstract temporary storage for blobs. The Buffer storage is assumed to be immutable. If any [3 …
framework/buffer/buffer.go
P (Interface)
The P interface represents the handle for a transport medium used for IMAP updates. [2 implementers]
internal/updatepipe/update_pipe.go
TemporaryErr (Interface)
(no doc) [3 implementers]
framework/exterrors/temporary.go
Resolver (Interface)
Resolver is an interface that describes DNS-related methods used by maddy. It is implemented by dns.DefaultResolver().
framework/dns/resolver.go

Core symbols most depended-on inside this repo

ExpectPattern
called by 355
tests/conn.go
Writeln
called by 331
tests/conn.go
NodeErr
called by 120
framework/config/config.go
Error
called by 109
internal/dmarc/verifier.go
Add
called by 106
framework/container/lifetime.go
Close
called by 106
framework/log/output.go
Run
called by 94
tests/t.go
String
called by 92
internal/cli/extflag.go

Shape

Method 844
Function 647
Struct 184
Interface 45
TypeAlias 13
FuncType 11

Languages

Go100%
Python1%

Modules by API surface

internal/smtpconn/smtpconn.go29 symbols
framework/config/map.go27 symbols
internal/testutils/smtp_server.go24 symbols
internal/msgpipeline/msgpipeline.go24 symbols
internal/endpoint/smtp/session.go24 symbols
framework/log/log.go24 symbols
tests/t.go23 symbols
internal/testutils/target.go21 symbols
internal/check/dnsbl/dnsbl.go21 symbols
internal/msgpipeline/msgpipeline_test.go19 symbols
internal/check/stateless_check.go18 symbols
framework/config/lexer/dispenser.go18 symbols

Dependencies from manifests, versioned

blitiri.com.ar/go/spfv1.5.1 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.7 · 1×
cloud.google.com/go/compute/metadatav0.6.0 · 1×
filippo.io/edwards25519v1.1.0 · 1×
github.com/Azure/go-ntlmsspv0.0.0-2022112819355 · 1×
github.com/G-Core/gcore-dns-sdk-gov0.2.9 · 1×
github.com/GehirnInc/cryptv0.0.0-2023032006175 · 1×
github.com/aws/aws-sdk-gov1.44.40 · 1×
github.com/aws/aws-sdk-go-v2v1.33.0 · 1×
github.com/aws/aws-sdk-go-v2/configv1.29.1 · 1×
github.com/aws/aws-sdk-go-v2/credentialsv1.17.54 · 1×

For agents

$ claude mcp add maddy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact