Smail

Last updated
Smail
Developer(s) Ronald S. Karr, Landon Curt Noll, and many others; currently maintained by Greg A. Woods
Stable release
3.2.0.121 / November 2, 2005;16 years ago (2005-11-02)
Operating system Unix-like
Platform Cross-platform
Type Mail transfer agent
License GNU General Public License
Website www.weird.com/~woods/projects/smail.html

Smail-3 is a mail transfer agent (MTA) used on Unix-like operating systems. It is Free Software and is licensed under the GNU GPL. It aims to be a general and flexible mailer with extensive facilities for checking incoming e-mail and for routing between disparate networks. It is still in use on the Internet, but it has been mostly superseded by Exim (which was originally based on Smail) [1] and other more modern mail transfer agents.

Smail-3 still follows a monolithic design model where a single binary controls the core facilities of the MTA. This type of monolithic design is generally considered to be inherently less secure[ citation needed ], largely because the whole program normally runs with full system privileges at all times. Nevertheless, Smail's security record has been fairly clean, and has only been the subject of one BUGTRAQ advisory. It was designed with security as a primary goal and makes use of several key safe coding practices to avoid some of the most common pitfalls of similar large programs written in C. [2]

Related Research Articles

Email Mail sent using electronic means

Electronic mail is a method of exchanging messages ("mail") between people using electronic devices. Email was thus conceived as the electronic (digital) version of, or counterpart to, mail, at a time when "mail" meant only physical mail. Email later became a ubiquitous communication medium, to the point that in current use, an email address is often treated as a basic and necessary part of many processes in business, commerce, government, education, entertainment, and other spheres of daily life in most countries. Email is the medium, and each message sent therewith is called an email.

Within the Internet email system, a message transfer agent (MTA), or mail transfer agent, or mail relay is software that transfers electronic mail messages from one computer to another using SMTP. The terms mail server, mail exchanger, and MX host are also used in some contexts.

The Simple Mail Transfer Protocol (SMTP) is an internet standard communication protocol for electronic mail transmission. Mail servers and other message transfer agents use SMTP to send and receive mail messages. User-level email clients typically use SMTP only for sending messages to a mail server for relaying, and typically submit outgoing email to the mail server on port 587 or 465 per RFC 8314. For retrieving messages, IMAP is standard, but proprietary servers also often implement proprietary protocols, e.g., Exchange ActiveSync.

Fetchmail

Fetchmail is an open-source software utility for POSIX-compliant operating systems which is used to retrieve e-mail from a remote POP3, IMAP, or ODMR mail server to the user's local system. It was developed from the popclient program, written by Carl Harris.

Email client Computer program used to access and manage a users email

An email client, email reader or, more formally, message user agent (MUA) or mail user agent is a computer program used to access and manage a user's email.

Sendmail Open-source mail transfer agent

Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and delivery methods, including the Simple Mail Transfer Protocol (SMTP) used for email transport over the Internet.

Exim Mail transfer agent (written 1995)

Exim is a mail transfer agent (MTA) used on Unix-like operating systems. Exim is free software distributed under the terms of the GNU General Public License, and it aims to be a general and flexible mailer with extensive facilities for checking incoming e-mail.

UUCP is an acronym of Unix-to-Unix Copy. The term generally refers to a suite of computer programs and protocols allowing remote execution of commands and transfer of files, email and netnews between computers.

qmail is a mail transfer agent (MTA) that runs on Unix. It was written, starting December 1995, by Daniel J. Bernstein as a more secure replacement for the popular Sendmail program. Originally license-free software, qmail's source code was later dedicated in the public domain by the author.

procmail is an email server software component — specifically, a message delivery agent (MDA). It was one of the earliest mail filter programs. It is typically used in Unix-like mail systems, using the mbox and Maildir storage formats.

Postfix (software) Mail transfer agent

Postfix is a free and open-source mail transfer agent (MTA) that routes and delivers electronic mail.

Email authentication, or validation, is a collection of techniques aimed at providing verifiable information about the origin of email messages by validating the domain ownership of any message transfer agents (MTA) who participated in transferring and possibly modifying a message.

Message submission agent

A message submission agent (MSA), or mail submission agent, is a computer program or software agent that receives electronic mail messages from a mail user agent (MUA) and cooperates with a mail transfer agent (MTA) for delivery of the mail. It uses ESMTP, a variant of the Simple Mail Transfer Protocol (SMTP), as specified in RFC 6409.

The Sender Rewriting Scheme (SRS) is a scheme for bypassing the Sender Policy Framework's (SPF) methods of preventing forged sender addresses. Forging a sender address is also known as email spoofing.

The comparison of mail servers covers mail transfer agents (MTAs), mail delivery agents, and other computer software that provide e-mail services.

Email forwarding generically refers to the operation of re-sending an email message delivered to one email address to one or more different email addresses.

Kernel (operating system) Core of a computer operating system

The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.

CommuniGate Pro (CGatePro) is a highly scalable carrier grade unified communications server, as well as a development platform. The system is Internet Protocol based. The server is a single process, multi-threaded application written entirely in C++. APIs are available for authentication, helper applications and directory services.

Email agent (infrastructure)

An e-mail agent is a program that is part of the e-mail infrastructure, from composition by sender, to transfer across the network, to viewing by recipient. The best-known are message user agents and message transfer agents, but finer divisions exist.

References

  1. Philip Hazel's original thoughts on implementing a future MTA based on Smail Archived 2008-12-15 at the Wayback Machine
  2. Weird.com