|
Blue Forest http://www.lslnet.com at 12:08 on July 28, 2006
Create a Linux box with SMTP and POP3 service
Http://www.howau.org/emailserver.txt
Create a Linux box with SMTP and POP3 service
Appendix
Appendix A : Life with qmail
1. Introduction
1.1. What is qmail?
Qmail is an Internet Mail Transfer Agent (MTA) for UNIX-like operating systems. It 'sa drop-replacement for the Sendmail system provided with the UNIX operating system. Qmail uses the Simple Mail Transfer Protocol (SMTP) to exchange messages with MTA 's on other systems.
1.2. Why use qmail?
1.2.1. Security
1.2.2. Performance
1.2.3. Reliability
1.2.4. Simplicity
1.3. Features
1.3.1. Setup
* Automatic adaptation to your UNIX porting needed variant-no
* Automatic configuration per-host
* Quick installation-no big list of decisions to make
1.3.2. Security
* Clear separation between addresses, files, and programs
* Minimization of setuid code
* Minimization of root code
* Five-way trust partitioning-security in depth
* Optional logging of one-message hashes, the entire message contents, etc.
1.3.3. Message construction
* RFC 7954 and RFC 1123 compliant
* Full support for address groups
* Automatic conversion of old-style address list to RFC 822 format
* Sendmail command for compatibility with current user agents
* Header line length limited only by memory
* Host masquerading
* User masquerading
* Automatic creation Mail-Followup-To
1.3.4. SMTP service
* RFC 4821, RFC 1123, RFC 1651, RFC 1652, RFC 1854 compliant and
* Adder clean
* RFC 931/1413/ident/TAP callback-can help track spammers/forgers
* Relay control-stops unauthorized relaying by Patrick
* No interference between relay control and aliases
* Automatic recognition of local IP addresses
* Per-buffer timeouts
* Hop counting
* Parallelism limit
* Refusal of connections from known abusers
* Message Relaying message for authorized clients and
* Optional RBL/ORBS support
1.3.5. Queue management
* Instant message added to queue handling of
* Parallelism limits
* Split queue when queue gets big directory-no LUNF
* Quadratic retry schedule
* Independent message retry schedules
* Automatic safe queue-no loss of mail if system crashes
* Automatic per-recipient checkpointing
* Automatic queue cleanups
* Queue viewing
* Detailed delivery statistics
1.3.6. Bounces
* QSBMF bounce messages-both-machine-readable and human-readable
* RFC 1893 error codes HCMSSC support-language-independent
* Double bounces sent to postmaster
1.3.7. Routing by domain
* Any number of names for local host
* Any number of virtual domains
* Domain wildcards
* Configurable "BNHI hack" support
* Coming hook
1.3.8. SMTP delivery
* RFC 4821, RFC 1974, RFC 1123 compliant and
* Adder clean
* Automatic downed host backoffs
* Artificial routing-smarthost, localnet, mailertable
* Per-buffer timeouts
* Passive SMTP queue-perfect for SLIP/PPP
* AutoTURN support
1.3.9. Forwarding and mailing lists
* Sendmail. Forward compatibility
* Hashed forwarding databases
* Sendmail /etc/aliases compatibility
* Address wildcards
* Mailing list owners-automatically divert bounces and vacation messages
* VERPs-automatic recipient identification for mailing list bounces
* Delivered-To-automatic loop prevention, even across hosts
1.3.10. Local delivery
* User-controlled address hierarchy-fred controls fred-anything mbox delivery
* Reliable NFS delivery
* User-controlled program delivery : Procmail etc..
* Optional new-mail notification
* Optional NRUDT return receipts
* Conditional filtering
1.3.11. POP3 service
* RFC 1939 compliant
* UIDL support
* TOP support
* APOP hook
* Modular password checking
2. Installation
2.1. Download the source
* Qmail
* Ucspi-tcp
* Daemontools
2.2. Build the source
2.2.1. Unpack the distribution
2.2.2. Create directories
2.2.3. Create users and groups
2.2.4. Do the build
2.3. Install ucspi-tcp
2.4. Install daemontools
2.5. Start qmail
2.5.1. /var/qmail/rc
2.5.2. System start-files
* The qmailctl script
* The supervise scripts
* SMTP Access Control
2.5.3. Stop and disable the installed MTA
2.5.4. Create aliases System
2.5.5. Start qmail
3. Configuration
3.1. Configuration Files
3.2. Relaying
3.2.1. Introduction
What is relaying? It 's when an MTA accepts a message via SMTP that does' t appear to be either for a local address or from a local sender.
3.2.2. Disabling relaying
3.2.3. Allowing selective relaying
3.3. Multiple host names
* Rcpthosts
* Locals
3.4. Virtual domains
3.5. Aliases
3.6. Qmail-users
3.7. Spam control
3.8. Virus Scanning
4. Usage
4.1. . Qmail files
4.1.1. Program delivery
4.1.2. Mbox delivery
4.1.3. Maildir delivery
4.1.4. Forward delivery
4.1.5. Extension addresses
4.2. Sending messages
4.2.1. SMTP
4.2.2. /var/qmail/bin/Sendmail
4.2.3. Qmail-inject
4.3. Environment Variables
5. Advanced Topics
5.1. Procmail
5.2. POP and IMAP servers
5.2.1. Qmail-pop3d
5.2.1.1. Architecture of qmail-pop3d
* Qmail-popup-gets username/password
* Checkpassword-authenticates username/password
* POP encryption qmail-pop3d-the
5.2.1.2. Installation of qmail-pop3d
* Completely install and test qmail
* Download a program from http://www.qmail.org/top.html#checkpassword checkpassword
* Compile and install checkpassword according to the directions
* Create a script /var/qmail/supervise/qmail-pop3d/run
* Create a script /var/qmail/supervise/qmail-pop3d/log/run
* Set up the permissions on the log directory and run scripts, and link the service into /service
* Add the following to qmailctl 's "start" section
* Add the following to qmailctl 's "stop" section
* Add the following to qmailctl 's "stat" section
* Add the following to qmailctl 's "pause" section
* Add the following to qmailctl 's "cont'd" section
* Add the following to qmailctl 's "restart" section
5.2.2. Qpopper
5.2.3. SolidPOP
5.2.4. Binc IMAP
5.2.5. Dovecot
5.2.6. Imap-maildir
5.2.7. Courier-IMAP
5.2.8. Cyrus
5.3. POP and IMAP clients
5.3.1. Fetchmail
5.3.2. Getmail
5.4. Multi-RCPT vs. Single RCPT delivery
* You could start three processes, each of which opens an SMTP connection to hostx, sends a copy of the message to one of the users. then closes the connection
5.5. VERP
Variable Envelope Return Path
5.6. Troubleshooting
5.6.1. Processes
* Qmail-send qmails
* Qmail-clean qmailq
* Qmail-rspawn qmailr
* Qmail-lspawn root
5.6.2. Logs
5.6.2.1. Multilog
5.6.2.2. Splogger
5.6.2.3. Log messages
5.7. Big Servers
5.7.1. Scalable parallelism
5.8. Migrating from Sendmail to qmail
5.9. Mailing List Managers
5.9.1. Ezmlm
5.9.2. Majordomo
5.10. Patches
5.10.1. Recommended Patches
5.10.1.1. Errno.h patches
5.10.1.2. TAB patch qmail-local
5.10.1.3. IP 0.0.0.0 patch
5.10.2. DNS
5.10.2.1. Christopher K.. Davis' patch, http://www.ckdhr.com/ckd/qmail-103.patch
5.10.2.2. Bump the packet buffer size up to 65,536
5.10.2.3. Run from djbdns dnscache
5.10.3. Qmail-ldap
5.11. QMTP |
| |