From Wikipedia, the free encyclopedia
Jump to: navigation, search
Developer(s) The OpenBSD Project
Stable release 5.4.2 / March 4, 2014; 5 months ago (2014-03-04)
Preview release OpenSMTPD-latest / ongoing
Operating system Multiplatform
Type Mail transport agent
License ISC

OpenSMTPD is a Unix system daemon implementing the Simple Mail Transfer Protocol to deliver messages on a local machine or to relay them to other SMTP servers. It has been released on the 17th of March 2013 with version number 5.3 after being in development since late 2008.

OpenSMTPD is primarily developed by Gilles Chehade, Eric Faurot and Charles Longeau as part of the OpenBSD project. Its design goals include being secure, reliable, easy to configure, supporting the most common use-cases and with source code that can be distributed under an ISC license. Its portable version, like that of OpenSSH, is developed as a child project which adds the portability code to the OpenBSD version and releases it separately. The portable version was initiated by Charles Longeau and adds supports for multiple operating systems including NetBSD, FreeBSD, DragonFlyBSD and several Linux distributions.


The development of OpenSMTPD was motivated by a combination of issues with current SMTP daemons: difficult configuration, complicated and difficult to audit code, and unsuitable licensing.[1] [2] OpenSMTPD was designed to solve these problems and make mail exchanges accessible to a wider user-base. After a period of development, OpenSMTPD first appeared in OpenBSD 4.6.[3] The first release is targeted for OpenBSD 5.3, as it is now considered stable enough for production use.[4]


OpenSMTPD is an attempt by the OpenBSD team to produce an SMTP daemon implementation that is secure, reliable, performant, simple to security audit and trivial to set up and administer. Code is designed to keep the memory, CPU and disk requirements as low as possible but it is admitted that large mail systems are not intended to be run on low-end machines, and trade-offs are made where higher memory usage would bring indisputable benefits.

As such, the design goals for OpenSMTPD are: security, ease of use, and performance. Security in OpenSMTPD is achieved by robust validity check in the network input path, use of bounded buffer operations via strlcpy, and privilege separation to mitigate the effects of possible security bugs exploiting the daemon through privilege escalation. In order to simplify the use of SMTP, OpenSMTPD implements a smaller set of functionalities than those available in other SMTP daemons, the objective is to provide enough features to satisfy typical usage at the risk of unsuitability for esoteric or niche requirements.


  1. ^ OpenSMTPD Goals
  2. ^ Corbet, Jonathan (May 27, 2009). "Coming soon: OpenSMTPD". Linux Weekly News (LWN). Retrieved April 6, 2012. 
  3. ^ OpenBSD 4.6 release notes
  4. ^ OpenBSD 5.3 release notes

External links[edit]