maddy

Fork https://github.com/foxcpp/maddy

git clone git://git.lin.moe/go/maddy.git

  1# Frequently Asked Questions
  2
  3## I configured maddy as recommended and gmail still puts my messages in spam
  4
  5Unfortunately, GMail policies are opaque so we cannot tell why this happens.
  6
  7Verify that you have a rDNS record set for the IP used
  8by sender server. Also some IPs may just happen to
  9have bad reputation - check it with various DNSBLs. In this
 10case you do not have much of a choice but to replace it.
 11
 12Additionally, you may try marking multiple messages sent from
 13your domain as "not spam" in GMail UI.
 14
 15## Message sending fails with `dial tcp X.X.X.X:25: connect: connection timed out` in log
 16
 17Your provider is blocking outbound SMTP traffic on port 25.
 18
 19You either have to ask them to unblock it or forward
 20all outbound messages via a "smart-host".
 21
 22## What is resource usage of maddy?
 23
 24For a small personal server, you do not need much more than a
 25single 1 GiB of RAM and disk space.
 26
 27## How to setup a catchall address?
 28
 29https://github.com/foxcpp/maddy/issues/243#issuecomment-655694512
 30
 31## maddy command prints a "permission denied" error
 32
 33Run maddy command under the same user as maddy itself.
 34E.g.
 35```
 36sudo -u maddy maddy creds ...
 37```
 38
 39## How maddy compares to MailCow or Mail-In-The-Box?
 40
 41MailCow and MIAB are bundles of well-known email-related software configured to
 42work together. maddy is a single piece of software implementing subset of what
 43MailCow and MIAB offer.
 44
 45maddy offers more uniform configuration system, more lightweight implementation
 46and has no dependency on Docker or similar technologies for deployment.
 47
 48maddy may have more bugs than 20 years old battle-tested software.
 49
 50It is easier to get help with MailCow/MITB since underlying implementations
 51are well-understood and have active community.
 52
 53maddy has no Web interface for administration, that is currently done via CLI
 54utility.
 55
 56## How maddy IMAP server compares to WildDuck?
 57
 58Both are "more secure by definition": root access is not required,
 59implementation is in memory-safe language, etc.
 60
 61Both support message compression.
 62
 63Both have first-class Unicode/internationalization support.
 64
 65WildDuck may offer easier scalability options. maddy does not require you to
 66setup MongoDB and Redis servers, though. In fact, maddy in its default
 67configuration has no dependencies besides libc.
 68
 69maddy has less builtin authentication providers. This means no
 70app-specific passwords and all that WildDuck lists under point 4 on their
 71features page.
 72
 73maddy currently has no admin Web interface, all necessary DB changes are
 74performed via CLI utility.
 75
 76## How maddy SMTP server compares to ZoneMTA?
 77
 78maddy SMTP server has a lot of similarities to ZoneMTA.
 79Both have powerful mechanisms for message routing (although designed
 80differently).
 81
 82maddy does not require MongoDB server for deployment.
 83
 84maddy has no web interface for queue inspection. However, it can
 85easily inspected by looking at files in /var/lib/maddy.
 86
 87ZoneMTA has a number of features that may make it easier to integrate
 88with HTTP-based services. maddy speaks standard email protocols (SMTP,
 89Submission).
 90
 91## Is there a webmail?
 92
 93No, at least currently.
 94
 95I suggest you to check out [alps](https://git.sr.ht/~migadu/alps) if you
 96are fine with alpha-quality but extremely easy to deploy webmail.
 97
 98## Is there a content filter (spam filter)?
 99
100No. maddy moves email messages around, it does not classify
101them as bad or good with the notable exception of sender policies.
102
103It is possible to integrate rspamd using 'rspamd' module. Just add
104`rspamd` line to `checks` in `local_routing`, it should just work
105in most cases.
106
107## Is it production-ready?
108
109maddy is considered "beta" quality. Several people use it for personal email.
110
111## Single process makes it unreliable. This is dumb!
112
113This is a compromise between ease of management and reliability. Several
114measures are implemented in code base in attempt to reduce possible effect
115of bugs in one component.
116
117Besides, you are not required to use a single process, it is easy to launch
118maddy with a non-default configuration path and connect multiple instances
119together using off-the-shelf protocols.