- Be as secure as possible. Code carefully, do strict validity checks
especially in the network input path, and use bounded buffer operations.
Use privilege separation to mitigate the effects of possible security bugs.
- Reliability is extremely important. Any email that OpenSMTPD has accepted
has to be handled with care and must not be lost.
- Provide a lean implementation, sufficient for a majority.
Don't try to support each and every obscure usage case, but cover the
typical ones.
- Provide a powerful and easy to understand configuration language.
- Be fast and efficient. OpenSMTPD must be able to handle large queues
with reasonable performance.