词条 | Postfix (software) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
释义 |
| name = Postfix | logo = | screenshot = | caption = | developer = Wietse Venema and many others (Google, formerly: IBM) | released = {{start date and age|1998|12|14}} | latest release version = 3.4.5 | latest release date = {{start date and age|2019|03|30}} | latest preview version = 3.5-20190330 | latest preview date = {{release date|2019|03|30}} | operating system = Cross-platform | programming language = C[1] | genre = Mail transfer agent | license = IBM Public License or Eclipse Public License | website = www.postfix.org }} Postfix is a free and open-source mail transfer agent (MTA) that routes and delivers electronic mail. It is released under the IBM Public License 1.0 which is a free software license. Alternatively, starting with version 3.2.5, it is available under the Eclipse Public License 2.0 at the user's option.[2] Originally written in 1997 by Wietse Venema at the IBM Thomas J. Watson Research Center in New York, and first released in December 1998[3], Postfix continues {{as of| 2019 |lc= on}} to be actively developed by its creator and other contributors. The software is also known by its former names VMailer and IBM Secure Mailer. In a December 2017 study performed by E-Soft, Inc.,[4] approximately 34% of the publicly reachable mail-servers on the Internet ran Postfix making it the second most popular mail server behind Exim Typical deploymentAs an SMTP server, Postfix implements a first layer of defense against spambots and malware. Administrators can combine Postfix with other software that provides spam/virus filtering (e.g., Amavisd-new), message-store access (e.g., Dovecot), or complex SMTP-level access-policies (e.g., postfwd, policyd-weight or greylisting). As an SMTP client, Postfix implements a high-performance parallelized mail-delivery engine. Postfix is often combined with mailing-list software (such as Mailman). Operating systemsPostfix runs (or has run) on AIX, BSD, HP-UX, Linux, macOS, Solaris and, generally speaking, on every Unix-like operating system that ships with a C compiler and delivers a standard POSIX development environment. It is the default MTA for the macOS, NetBSD[5]and Ubuntu operating systems.[6] ArchitecturePostfix consists of a combination of server programs that run in the background, and client programs that are invoked by user programs or by system administrators. The Postfix core consists of several dozen server programs that run in the background, each handling one specific aspect of email delivery. Examples are the SMTP server, the scheduler, the address rewriter, and the local delivery server. For damage-control purposes, most server programs run with fixed reduced privileges, and terminate voluntarily after processing a limited number of requests. To conserve system resources, most server programs terminate when they become idle. Client programs run outside the Postfix core. They interact with Postfix server programs through mail delivery instructions in the user's ~/.forward file, and through small "gate" programs to submit mail or to request queue status information. Other programs provide administrative support to start or stop Postfix, query status information, manipulate the queue, or to examine or update its configuration files.
ImplementationThe Postfix implementation uses safe subsets of the C language and of the POSIX system API. These subsets are buried under an abstraction layer that contains about 50% of all Postfix source code, and that provides the foundation on which all Postfix programs are built. For example, the "vstring" primitive makes Postfix code resistant to buffer overflow[7] attacks, and the "safe open" primitive makes Postfix code resistant to race condition attacks on systems that implement the POSIX file system API. This abstraction layer does not affect the attack resistance of non-Postfix code, such as code in system libraries or in third-party libraries. RobustnessConceptually, Postfix manages pipelines of processes that pass the responsibility for message delivery and error notification from one process to the next. All message and notification "state" information is persisted in the file system. The processes in a pipeline operate mostly without centralized control; this relative autonomy simplifies error recovery. When a process fails before completing its part of a file or protocol transaction, its predecessor in the pipeline backs off and retries the request later, and its successor in the pipeline discards unfinished work. Many Postfix daemons can simply "die" when they run into a problem; they are automatically restarted when the next service request arrives. This approach makes Postfix highly resilient, as long as the operating system or hardware don't fail catastrophically. PerformanceOne single Postfix instance has been clocked at ~300 message deliveries/second[8] across the Internet, running on commodity hardware (a vintage-2003 Dell 1850 system with battery-backed MegaRAID controller and two SCSI disks). This delivery rate is an order of magnitude below the "intrinsic" limit of 2500 message deliveries/second[8] that was achieved with the mail queue on a RAM disk while delivering to the "discard" transport (with a dual-core Opteron system in 2007). Mail systems such as Postfix and Qmail achieve high performance by delivering mail in parallel sessions. With mail systems such as Sendmail and Exim that make one connection at a time, high performance can be achieved by submitting limited batches of mail in parallel, so that each batch is delivered by a different process. Postfix and Qmail require parallel submission into different MTA instances once they reach their intrinsic performance limit, or the performance limits of the hardware or operating system. It should be noted that the delivery rates cited above are largely theoretical. With bulk mail delivery, the true delivery rate is primarily determined by the receiver's mail receiving policies and by the sender's reputation. Base configurationThe main.cf file stores site-specific Postfix configuration parameters while master.cf defines daemon processes.[9] The Postfix Basic Configuration tutorial covers the core settings that each site needs to consider, and the Postfix Standard Configuration Examples document discusses configuration settings for a few common environments. The Postfix Address Rewriting document covers address rewriting and mail routing. The full documentation collection is at Postfix Documentation More complex Postfix implementations may include: integration with other applications such as SpamAssassin; support for multiple virtual domain names - and use databases such as MySQL to control complex configurations. Release history
See also{{Portal|Free and open-source software}}
References1. ^{{cite web|url=http://www.lextrait.com/Vincent/implementations.html|title=The Programming Languages Beacon, v10.3|first=Vincent|last=Lextrait|date=July 2010|accessdate=5 September 2010}} 2. ^{{cite web|url=http://www.postfix.org/announcements/postfix-3.2.5.html|title=Postfix stable release 3.2.5, and legacy releases 3.1.8, 3.0.12, and 2.11.11|date=January 2018|accessdate=30 January 2018}} 3. ^{{cite web|url=https://www.nytimes.com/library/tech/98/12/biztech/articles/14blue.html|title=Sharing Software, IBM to Release Mail Program Blueprint|first=John|last=Markoff|date=December 1998|accessdate=17 September 2017}} 4. ^{{Cite web|url=http://www.securityspace.com/s_survey/data/man.201711/mxsurvey.html|title=E-Soft MX survey |website=securityspace.com |publisher=E-Soft Inc. |date={{date|2017-12-01}} |accessdate={{date|2017-12-24}}}} 5. ^{{cite web | url = http://netbsd.org/docs/guide/en/chap-mail.html | title = The NetBSD Guide. Chapter 27. Mail and news. | accessdate = 2010-05-10}} 6. ^{{cite web |url=https://help.ubuntu.com/community/Postfix |title=Postfix |publisher=Community Documentation, Ubuntu Wiki |accessdate=2012-03-09}} 7. ^{{cite book| last1 = Hontañón| first1 = Ramón J| title = Linux Security| publisher = Sybex| date = July 10, 2001| location = San Francisco| page = 166| url = https://books.google.com/books?id=wYBbM8ol2McC&pg=PA166&lpg=PA166&dq=postfix+resilient+against+buffer+overflow&source=bl&ots=PQLUXJcGfA&sig=IeKTayHKaZHj_8j4vF-_wD0x3w4&hl=en&ei=Pq7lTNuQKYaglAfY5IzfCw&sa=X&oi=book_result&ct=result&resnum=8&ved=0CE0Q6AEwBw| accessdate = 2011-09-21| isbn = 0-7821-2741-X}} 8. ^1 {{cite web | url = https://groups.google.com/forum/?fromgroups=#!topic/mailing.postfix.users/pPcRJFJmdeA | title = Bulk Mailing Performance | accessdate=2012-09-09}} 9. ^Postfix-Tutorial.com: Postfix, Courier/POP, SASL & Spamassassin – with MySQL admin 10. ^Postfix Announcements 11. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.10.3.html |title=Postfix legacy releases 2.10.3, 2.9.9, 2.8.17, and 2.7.16| work=Postfix.org| accessdate=2014-01-24}} 12. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.8.0.html |title=Postfix stable release 2.8.0 |work=Postfix.org |accessdate=2013-09-19}} 13. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.11.4.html |title=Postfix legacy releases 2.11.4, 2.10.6, 2.9.12, and 2.8.20 |work=Postfix.org| accessdate=2015-04-29}} 14. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.9.0.html |title=Postfix stable release 2.9.0 |work=Postfix.org| accessdate=2013-09-19}} 15. ^{{cite web |url=http://www.postfix.org/announcements/postfix-3.1.0.html |title=Postfix stable release 3.1.0 |work=Postfix.org| accessdate=2017-11-21}} 16. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.10.0.html |title=Postfix stable release 2.10.0| work=Postfix.org|accessdate= 2013-09-19}} 17. ^{{cite web |url=http://www.postfix.org/announcements/postfix-3.1.4.html |title=Postfix stable release 3.1.4 and legacy releases 3.0.8, 2.11.9 |work=Postfix.org| accessdate=2017-11-20}} 18. ^{{cite web |url=http://www.ietf.org/mail-archive/web/dane/current/msg06294.html |title=Postfix 2.11.0-RC2 available with feature-complete DANE support |work=IETF.org |accessdate=2015-04-29}} 19. ^{{cite web |url=http://www.postfix.org/announcements/postfix-2.11.0.html |title=Postfix stable release 2.11.0| work=Postfix.org|accessdate=2014-01-24}} 20. ^{{cite web |url=http://www.postfix.org/announcements/postfix-3.0.0.html |title=Postfix stable release 3.0.0| work=Postfix.org|accessdate= 2015-04-29}} 21. ^{{cite web |url=http://www.postfix.org/announcements/postfix-3.1.0.html |title=Postfix stable release 3.1.0| work=Postfix.org|accessdate=2016-03-29}} 22. ^{{cite web |url=http://www.postfix.org/announcements/postfix-3.2.0.html |title=Postfix stable release 3.2.0| work=Postfix.org|accessdate=2017-11-21}} Further reading
External links
6 : Message transfer agents|Free email server software|IBM software|Unix network-related software|1997 software|Email server software for Linux |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。