Please consider the latest edition.
-
Chapter 1 Some Basics
-
Email Basics
-
Requests for Comments (RFCs)
-
Email and sendmail
-
Basic Parts of sendmail
-
Basic Parts of a Mail Message
-
Basic Roles of sendmail
-
Basic Modes of sendmail
-
The sendmail.cf File
-
-
Build and Install
-
Chapter 2 Build and Install sendmail
- Vendor Versus Compiling
- Obtain the Source
- The Build Script
- Building with m4
- Build sendmail
- Install sendmail
- Pitfalls
- Build m4 Macro Reference
- APPENDDEF( )
- confBEFORE
- confBLDVARIANT
- confBUILDBIN
- confCC
- confCCOPTS
- confCCOPTS_SO
- confCOPY
- confDEPEND_TYPE
- confDEPLIBS
- confDONT_INSTALL_CATMAN
- confEBINDIR
- confENVDEF and conf_prog_ENVDEF
- confFORCE_RMAIL
- confGBIN...
- confHFDIR
- confHFFILE
- confINCDIRS
- confINC...
- confINSTALL
- confINSTALL_RAWMAN
- confLD
- confLDOPTS
- confLDOPTS_SO
- confLIB...
- confLIBDIRS
- confLIBS and conf_prog_LIBS
- confLIBSEARCH
- confLIBSEARCHPATH
- confLN
- confLNOPTS
- confLINKS
- confMAN...
- confMAPDEF
- confMBIN...
- confMSPQOWN
- confMSP_QUEUE_DIR
- confMTCCOPTS
- confMTLDOPTS
- confNO_HELPFILE_INSTALL
- confNO_MAN_BUILD
- confNO_MAN_INSTALL
- confNO_STATISTICS_INSTALL
- confOBJADD
- confOPTIMIZE
- confRANLIB
- confRANLIBOPTS
- confREQUIRE_LIBSM
- confSBINDIR
- confSBINGRP
- confSBINMODE
- confSBINOWN
- confSHAREDLIB...
- confSHELL
- confSM_OS_HEADER
- confSMOBJADD
- confSMSRCADD
- confSONAME
- conf_prog_OBJADD
- conf_prog_SRCADD
- confSRCDIR
- confSTDIOTYPE
- confSTDIR
- confSTFILE
- confSTRIP
- confSTRIPOPTS
- confUBINDIR
- confUBINGRP
- confUBINMODE
- confUBINOWN
- PREPENDDEF( )
-
Chapter 3 Tune sendmail with Compile-Time Macros
- Before You Begin, a Checklist
- To Port, Tune, or Debug
- Pitfalls
- Compile-Time Macro Reference
- AUTO_NIS_ALIASES
- BSD4_3
- BSD4_4
- DATA_PROGRESS_TIMEOUT
- DNSMAP
- DSN
- EGD
- ERRLIST_PREDEFINED
- FAST_PID_RECYCLE
- _FFR...
- FORK
- HAS...
- HESIOD
- HES_GETMAILHOST
- IDENTPROTO
- IP_SRCROUTE
- ...IS_BROKEN
- LA_TYPE
- LDAPMAP
- LOG
- MATCHGECOS
- MAX...
- MEMCHUNKSIZE
- MILTER
- MIME7TO8
- MIME8TO7
- NAMED_BIND
- MAP_NSD
- MAP_REGEX
- NDBM
- NEED...
- NET...
- NETINFO
- NEWDB
- NIS
- NISPLUS
- NOFTRUNCATE
- NO_GROUP_SET
- NOTUNIX
- _PATH...
- PH_MAP
- PICKY_HELO_CHECK
- PIPELINING
- PSBUFSIZ
- QUEUE
- QUEUESEGSIZE
- REQUIRES_DIR_FSYNC
- SASL
- SCANF
- SECUREWARE
- SFS_TYPE
- SHARE_V1
- SM_...
- SM_HEAP_CHECK
- SM_CONF_SHM
- SMTP
- SMTPDEBUG
- SMTPLINELIM
- SPT_TYPE
- STARTTLS
- SUID_ROOT_FILES_OK
- SYSLOG_BUFSIZE
- SYSTEM5
- TCPWRAPPERS
- TLS_NO_RSA
- TOBUFSIZE
- TTYNAME
- ...T
- UDB_DEFAULT_SPEC
- USE_DOUBLE_FORK
- USE_ENVIRON
- USING_NETSCAPE_LDAP
- USERDB
- USESETEUID
- WILDCARD_SHELL
- XDEBUG
-
Chapter 4 Configure sendmail.cf with m4
- The m4 Preprocessor
- Configure with m4
- m4 Macros by Function
- Masquerading
- Relays
- UUCP Support
- Pitfalls
- Configuration File Feature Reference
- FEATURE(accept_unqualified_senders)
- FEATURE(accept_unresolvable_domains)
- FEATURE(access_db)
- FEATURE(allmasquerade)
- FEATURE(always_add_domain)
- FEATURE(authinfo)
- FEATURE(bestmx_is_local)
- FEATURE(bitdomain)
- FEATURE(blacklist_recipients)
- FEATURE(compat_check)
- FEATURE(delay_checks)
- FEATURE(dnsbl)
- FEATURE(domaintable)
- FEATURE(enhdnsbl)
- FEATURE(generics_entire_domain)
- FEATURE(genericstable)
- FEATURE(ldap_routing)
- FEATURE(limited_masquerade)
- FEATURE(local_lmtp)
- FEATURE(local_no_masquerade)
- FEATURE(local_procmail)
- FEATURE(lookupdotdomain)
- FEATURE(loose_relay_check)
- FEATURE(mailertable)
- FEATURE(masquerade_entire_domain)
- FEATURE(masquerade_envelope)
- FEATURE(msp)
- FEATURE(nocanonify)
- FEATURE(nodns)
- FEATURE(no_default_msa)
- FEATURE(notsticky)
- FEATURE(nouucp)
- FEATURE(nullclient)
- FEATURE(promiscuous_relay)
- FEATURE(preserve_local_plus_detail)
- FEATURE(preserve_luser_host)
- FEATURE(queuegroup)
- FEATURE(rbl)
- FEATURE(redirect)
- FEATURE(relay_based_on_MX)
- FEATURE(relay_entire_domain)
- FEATURE(relay_hosts_only)
- FEATURE(relay_local_from)
- FEATURE(relay_mail_from)
- FEATURE(smrsh)
- FEATURE(stickyhost)
- FEATURE(use_ct_file)
- FEATURE(use_cw_file)
- FEATURE(uucpdomain)
- FEATURE(virtuser_entire_domain)
- FEATURE(virtusertable)
-
Chapter 5 Build and Use Companion Programs
- The Build Script
- -A
- -c
- -E
- -f
- -I
- -L
- -M
- -m
- -n
- -O
- -Q
- -S
- -v
- The editmap Program
- -C
- -f
- -N
- -q
- -u
- -x
- The mail.local Delivery Agent
- -7
- -b
- -d
- -D
- -f
- -h
- -l (lowercase L)
- -r
- The mailstats Program
- -c
- -C
- -f
- -o
- -p
- -P
- The makemap Program
- -c
- -C
- -d
- -e
- -f
- -l (lowercase L)
- -N
- -o
- -r
- -s
- -t
- -u
- -v
- The praliases Program
- -C
- -f
- The rmail Delivery Agent
- The smrsh Program
- The vacation Program
- -a
- -C
- -d
- -f
- -i or -I
- -l (lowercase L)
- -m
- -r
- -s
- -t
- -U
- -x
- -z
- Pitfalls
-
-
Administration
-
Chapter 6 Tune Performance
- Handle Deep Queues
- Sidestep Slow Hosts
- Deliver to Files
- Buffered File I/O
- Use Multiple Queues
- Condition the Network
- Tune the Kernel
- Pitfalls
-
Chapter 7 How to Handle spam
- The Local_check_ Rule Sets
- How DNSBL Works
- Check Headers with Rule Sets
- Relaying
- The access Database
- The Milter Library
- Pitfalls
-
Chapter 8 Test Rule Sets with -bt
- Overview
- Configuration Lines
- Dump a sendmail Macro or Class
- Show an Item
- Complex Actions Made Simple
- Process-Specified Addresses
- Add Debugging for Detail
- Batch Rule-Set Testing
- Pitfalls
-
Chapter 9 DNS and sendmail
- Overview
- How sendmail Uses DNS
- Set Up MX Records
- How to Use nslookup
- Prepare for Disaster
- Pitfalls
-
Chapter 10 Maintain Security with sendmail
- Why root?
- The Environment
- SMTP Probes
- The Configuration File
- Permissions
- The Aliases File
- Forged Mail
- Security Features
- Support SMTP AUTH
- STARTTLS
- Other Security Information
- Pitfalls
-
Chapter 11 Manage the Queue
- Overview of the Queue
- Parts of a Queued Message
- Using Multiple Queue Directories
- Queue Groups (V8.12 and Above)
- Bogus qf Files
- Printing the Queue
- How the Queue Is Processed
- Cause Queues to Be Processed
- Process Alternate Queues
- Pitfalls
- The qf File Internals
- A line
- B line
- C line
- d line
- D line
- E line
- F line
- H line
- I line
- K line
- M line
- N line
- P line
- Q line
- r line
- R line
- S line
- T line
- V line
- Z line
- ! line
- $ line
- . line
-
Chapter 12 Maintain Aliases
- The aliases(5) File
- Forms of Alias Delivery
- Write a Delivery Agent Script
- Special Aliases
- The Aliases Database
- Prevent Aliasing with -n
- Pitfalls
-
Chapter 13 Mailing Lists and ~/.forward
- Internal Mailing Lists
- :include: Mailing Lists
- Defining a Mailing List Owner
- Exploder Mailing Lists
- Problems with Mailing Lists
- Packages That Help
- The User's ~/.forward File
- Pitfalls
-
Chapter 14 Signals, Transactions, and Syslog
- Signal the Daemon
- SIGTERM
- SIGINT
- SIGKILL
- SIGHUP
- SIGUSR1
- Log Transactions with -X
- Log with syslog
- Pitfalls
- Alphabetized syslog Equates
- arg1=
- bodytype=
- class=
- ctladdr=
- daemon=
- delay=
- dsn=
- from=
- intvl=
- len=
- mailer=
- msgid=
- nrcpts=
- ntries=
- pri=
- proto=
- reject=
- relay=
- ruleset=
- size=
- stat=
- to=
- xdelay=
-
Chapter 15 The sendmail Command Line
- Alternative argv[0] Names
- Command-Line Switches
- List of Recipient Addresses
- Processing the Command Line
- sendmail's exit( ) Status
- EX_CANTCREAT
- EX_CONFIG
- EX_IOERR
- EX_OK
- EX_OSERR
- EX_OSFILE
- EX_SOFTWARE
- EX_TEMPFAIL
- EX_UNAVAILABLE
- EX_USAGE
- Pitfalls
- Alphabetized Command-Line Switches
- -A
- -B
- -b
- -ba
- -bD
- -bd
- -bH
- -bh
- -bi
- -bm
- -bP
- -bp
- -bs
- -bt
- -bv
- -bz
- -C
- -c
- -d
- -E
- -e
- -F
- -f
- -G
- -h
- -I
- -i
- -J
- -L
- -M
- -m
- -N
- -n
- -O
- -o
- -p
- -q
- -R
- -r
- -s
- -T
- -t
- -U
- -V
- -v
- -X
- -x
-
Chapter 16 Debug sendmail with -d
- The Syntax of -d
- The Behavior of -d
- Interpret the Output
- Table of All -d Categories
- Pitfalls
- Reference for -d in Numerical Order
- -d0.1
- -d0.4
- -d0.10
- -d0.12
- -d0.13
- -d0.15
- -d0.20
- -d2.1
- -d2.9
- -d4.80
- -d6.1
- -d8.1
- -d8.2
- -d8.3
- -d8.5
- -d8.7
- -d8.8
- -d11.1
- -d11.2
- -d12.1
- -d13.1
- -d20.1
- -d21.1
- -d21.2
- -d22.1
- -d22.11
- -d22.12
- -d25.1
- -d26.1
- -d27.1
- -d27.2
- -d27.3
- -d27.4
- -d27.5
- -d27.8
- -d27.9
- -d28.1
- -d29.1
- -d29.4
- -d31.2
- -d34.1
- -d34.11
- -d35.9
- -d37.1
- -d37.8
- -d38.2
- -d38.3
- -d38.4
- -d38.9
- -d38.10
- -d38.12
- -d38.19
- -d38.20
- -d41.1
- -d44.4
- -d44.5
- -d48.2
- -d49.1
- -d52.1
- -d52.100
- -d60.1
- -d99.100
-
-
The Configuration File
-
Chapter 17 Configuration File Overview
- Overall Syntax
- Comments
- V8 Comments
- Continuation Lines
- The V Configuration Command
- Pitfalls
-
Chapter 18 The R (Rules) Configuration Command
- Why Rules?
- The R Configuration Command
- Tokenizing Rules
- The Workspace
- The Behavior of a Rule
- The LHS
- The RHS
- Pitfalls
- Rule Operator Reference
- $&
- $@
- $@
- $@
- $@
- $@
- $:
- $:
- $:
- $:
- $digit
- $=
- $>
- $[ $]
- $( $)
- $-
- $+
- $#
- $#
- $#
- $*
- $~
- $|
-
Chapter 19 The S (Rule Sets) Configuration Command
- The S Configuration Command
- The Sequence of Rule Sets
- The canonify Rule Set 3
- The final Rule Set 4
- The parse Rule Set 0
- The localaddr Rule Set 5
- Rule Sets 1 and 2
- Pitfalls
- Policy Rule-Set Reference
- check_data
- check_etrn
- check_vrfy and check_expn
- srv_features
-
Chapter 20 The M (Mail Delivery Agent) Configuration Command
- The M Configuration Command
- The Symbolic Delivery Agent Name
- The mc Configuration Syntax
- Delivery Agents by Name
- cyrus
- cyrusv2
- discard
- error
- fax
- *file* and *include*
- local and prog
- mail11
- ph
- pop
- procmail
- qpage
- smtp, etc.
- usenet
- uucp
- Delivery Agent Equates
- /= (forward slash)
- A=
- C=
- D=
- E=
- F=
- L=
- M=
- m=
- N=
- P=
- Q=
- R=
- r=
- S=
- T=
- U=
- W=
- How a Delivery Agent Is Executed
- Pitfalls
- Delivery Agent F= Flags
- F=%
- F=0 (zero)
- F=1 (one)
- F=2
- F=3
- F=5
- F=6
- F=7
- F=8
- F=9
- F=: (colon)
- F=| (vertical bar)
- F=/ (forward slash)
- F=@
- F=a
- F=A
- F=b
- F=c
- F=C
- F=d
- F=D
- F=e
- F=E
- F=f
- F=F
- F=g
- F=h
- F=i
- F=I (uppercase i)
- F=j
- F=k
- F=l (lowercase L)
- F=L
- F=m
- F=M
- F=n
- F=o
- F=p
- F=P
- F=q
- F=r
- F=R
- F=s
- F=S
- F=u
- F=U
- F=w
- F=x
- F=X
- F=z
- F=Z
-
Chapter 21 The D (Define a Macro) Configuration Command
- Preassigned sendmail Macros
- Command-Line Definitions
- Configuration-File Definitions
- Macro Names
- Macro Expansion: $ and $&
- Macro Conditionals: $?, $|, and $.
- Macros with mc Configuration
- Pitfalls
- Alphabetized sendmail Macros
- $_
- $a
- ${addr_type}
- ${alg_bits}
- ${auth_authen}
- ${auth_author}
- ${auth_ssf}
- ${auth_type}
- $b
- ${bodytype}
- $B
- $c
- ${cert_issuer}
- ${cert_md5}
- ${cert_subject}
- ${cipher}
- ${cipher_bits}
- ${client_addr}
- ${client_flags}
- ${client_name}
- ${client_port}
- ${client_resolve}
- ${cn_issuer}
- ${cn_subject}
- ${currHeader}
- $C
- $d
- ${daemon_addr}
- ${daemon_family}
- ${daemon_flags}
- ${daemon_info}
- ${daemon_name}
- ${daemon_port}
- ${deliveryMode}
- ${dsn_envid}
- ${dsn_notify}
- ${dsn_ret}
- $D
- $e
- ${envid}
- $E
- $f
- $F
- $g
- $h
- ${hdr_name}
- ${hdrlen}
- $H
- $i
- ${if_addr}
- ${if_addr_out}
- ${if_family}
- ${if_family_out}
- ${if_name}
- ${if_name_out}
- $j
- $k
- $l (lowercase L)
- ${load_avg}
- $L
- $m
- ${mail_addr}
- ${mail_host}
- ${mail_mailer}
- ${msg_size}
- $M
- ${MTAHost}
- $n
- ${nrcpts}
- ${ntries}
- $o
- ${opMode}
- $p
- $q
- ${queue_interval}
- $r
- ${rcpt_addr}
- ${rcpt_host}
- ${rcpt_mailer}
- $R
- $s
- ${sendmailMTACluster}
- ${server_addr}
- ${server_name}
- $S
- $t
- ${tls_version}
- $u
- $U
- $v
- ${verify}
- $V
- $w
- $W
- $x
- $X
- $y
- $Y
- $z
- $Z
-
Chapter 22 The C and F (Class Macro) Configuration Commands
- Class Configuration Commands
- Access Classes in Rules
- Classes with mc Configuration
- Internal Class Macros
- Pitfalls
- Alphabetized Class Macros
- $=b
- $={checkMIMEFieldHeaders}
- $={checkMIMEHeaders}
- $={checkMIMETextHeaders}
- $=e
- $=k
- $=m
- $=n
- $={persistentMacros}
- $=q
- $={ResOk}
- $=R
- $={tls}
- $=s
- $=t
- $=w
-
Chapter 23 The K (Database-Map) Configuration Command
- Enable at Compile Time
- The K Configuration Command
- The K Command switches
- -A
- -a
- -D
- -f
- -k
- -l (lowercase L)
- -m
- -N
- -O
- -o
- -q
- -S
- -T
- -t
- -v
- -z
- Use $( and $) in Rules
- Database Maps with mc Configuration
- Pitfalls
- Alphabetized Database-Map Types
- arith
- btree
- bestmx
- dbm
- dequote
- dns
- hash
- hesiod
- host
- implicit
- ldap (was ldapx)
- macro
- netinfo
- nis
- nisplus
- nsd
- null
- ph
- program
- regex
- sequence
- stab
- switch
- syslog
- text
- userdb
- user
-
Chapter 24 The O (Options) Configuration Command
- Overview
- Command-Line Options
- Configuration File Options
- Options in the mc File
- Alphabetical Table of All Options
- Option Argument Types
- Interrelating Options
- Pitfalls
- Alphabetized Options
- AliasFile
- AliasWait
- AllowBogusHELO
- AuthMaxBits
- AuthMechanisms
- AuthOptions
- AutoRebuildAliases
- BadRcptThrottle
- BlankSub
- CACertFile
- CACertPath
- CheckAliases
- CheckpointInterval
- ClassFactor
- ClientCertFile
- ClientKeyFile
- ClientPortOptions
- ColonOkInAddr
- ConnectionCacheSize
- ConnectionCacheTimeout
- ConnectionRateThrottle
- ConnectOnlyTo
- ControlSocketName
- DaemonPortOptions
- DataFileBufferSize
- DeadLetterDrop
- DefaultAuthInfo
- DefaultCharSet
- DefaultUser
- DelayLA
- DeliverByMin
- DeliveryMode
- DHParameters
- DialDelay
- DirectSubmissionModifiers
- DontBlameSendmail
- DontExpandCnames
- DontInitGroups
- DontProbeInterfaces
- DontPruneRoutes
- DoubleBounceAddress
- EightBitMode
- ErrorHeader
- ErrorMode
- FallbackMXhost
- FastSplit
- ForkEachJob
- ForwardPath
- HelpFile
- HoldExpensive
- HostsFile
- HostStatusDirectory
- IgnoreDots
- InputMailFilters
- LDAPDefaultSpec
- LogLevel
- MailboxDatabase
- MatchGECOS
- MaxAliasRecursion
- MaxDaemonChildren
- MaxHeadersLength
- MaxHopCount
- MaxMessageSize
- MaxMimeHeaderLength
- MaxQueueChildren
- MaxQueueRunSize
- MaxRecipientsPerMessage
- MaxRunnersPerQueue
- MeToo
- Milter
- MinFreeBlocks
- MinQueueAge
- MustQuoteChars
- NiceQueueRun
- NoRecipientAction
- OldStyleHeaders
- OperatorChars
- PidFile
- PostmasterCopy
- PrivacyOptions
- ProcessTitlePrefix
- QueueDirectory
- QueueFactor
- QueueFileMode
- QueueLA
- QueueSortOrder
- QueueTimeout
- RandFile
- RecipientFactor
- RefuseLA
- ResolverOptions
- RetryFactor
- RrtImpliesDsn
- RunAsUser
- SafeFileEnvironment
- SaveFromLine
- SendMimeErrors
- ServerCertFile
- ServerKeyFile
- ServiceSwitchFile
- SevenBitInput
- SharedMemoryKey
- SingleLineFromHeader
- SingleThreadDelivery
- SmtpGreetingMessage
- StatusFile
- SuperSafe
- TempFileMode
- Timeout
- TimeZoneSpec
- TLSSrvOptions
- TrustedUser
- TryNullMXList
- UnixFromLine
- UnsafeGroupWrites
- UseErrorsTo
- UseMSP
- UserDatabaseSpec
- Verbose
- XscriptFileBufferSize
- M
-
Chapter 25 The H (Headers) Configuration Command
- Overview
- Header Names
- Header Field Contents
- ?flags? in Header Definitions
- Rules Check Header Contents
- Header Behavior in conf.c
- Headers and mc Configuration
- Headers by Category
- Forwarding with Resent Headers
- Precedence
- Pitfalls
- Alphabetized Header Reference
- Apparently-From:
- Apparently-To:
- Auto-Submitted:
- Bcc:
- Cc:
- Comments:
- Content-Description:
- Content-Disposition:
- Content-Id:
- Content-Length:
- Content-Transfer-Encoding:
- Content-Type:
- Date:
- Delivered-To:
- Disposition-Notification-To:
- Encrypted:
- Errors-To:
- From:
- Full-Name:
- In-Reply-To:
- Keywords:
- Mail-From:
- Message-ID:
- Message:
- MIME-Version:
- Posted-Date:
- Precedence:
- Priority:
- Received:
- References:
- Reply-To:
- Return-Path:
- Return-Receipt-To:
- Sender:
- Subject:
- Text:
- To:
- Via:
- X-Authentication-Warning:
- X400-Received:
-
-
Appendixes
-
Appendix A The mc Configuration Macros and Directives
-
Appendix B What's New Since V8.8
- Chapter 1
- Chapter 2
- Chapter 3
- Chapter 4
- Chapter 5
- Chapter 6
- Chapter 7
- Chapter 8
- Chapter 9
- Chapter 10
- Chapter 11
- Chapter 12
- Chapter 13
- Chapter 14
- Chapter 15
- Chapter 16
- Chapter 17
- Chapter 18
- Chapter 19
- Chapter 20
- Chapter 21
- Chapter 22
- Chapter 23
- Chapter 24
- Chapter 25
-
Appendix C Error Message Reference
- Where Errors Are Printed
- Alphabetized Error Reference
-
Appendix D The checkcompat( ) Cookbook
- How checkcompat( ) Works
- Reject Bad Body Lines
- Reject Excess 8-Bit Characters
-
Appendix E A Map to Tutorial Information
- How to Use This Guide
- The Guide
-
-
Chapter Bibliography
-
Requests for Comments
-
Publications and Postings
-
-
Colophon
- Title:
- Sendmail, Third Edition
- By:
- Bryan Costales
- Publisher:
- O'Reilly Media
- Formats:
-
- Ebook
- Safari Books Online
- Print Release:
- December 2002
- Ebook Release:
- February 2009
- Pages:
- 1232
- Print ISBN:
- 978-1-56592-839-8
- | ISBN 10:
- 1-56592-839-3
- Ebook ISBN:
- 978-0-596-10362-0
- | ISBN 10:
- 0-596-10362-X
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of sendmail, Third Edition is a flying fox, a species of fruit bat found chiefly on the islands of the Malay-Indonesia archipelago. Of about 4,000 species of mammals, nearly one-quarter are bats; and of these, 160 are fruit bats. Sixty of the larger fruit bats make up the flying foxes, the largest having a wingspan of five feet. While smaller insect-eating bats navigate by echolocation, fruit bats depend on a keen sense of sight and smell to perceive their environment. They roost in trees by day, sometimes in extremely large numbers called "camps." They hang from branches by one or both feet, wrap themselves in their wings, and sleep the day away. On hot days, these bats keep cool by fanning themselves with their wings.
Greatly elongated fingers form the main support for the web of skin that has allowed these mammals, alone, to master true flight. At sunset they awaken from their slumber and begin their nocturnal ramblings. A flying fox must flap its wings until it becomes horizontal to the ground before it can let go and fly away. Once airborne, they use their sensitive sense of smell to detect where flowers are blooming or fruits have ripened. Unlike most animals, fruit bats cannot generate vitamin C (a limitation shared by humans and guinea pigs); thus, it is supplied by fruit in the diet. Flying foxes can range up to 40 miles for food. Once a target is located, they are faced with a difficult landing. Sometimes they will simply crash into foliage and grab at what they can; other times they may attempt to catch a branch with their hindfeet as they fly over it and then swing upside-down; some will even attempt a difficult half-roll under a branch to grip it in the preferred position. Once attached and hanging, they will draw the flower or fruit to their mouths with a single hindfoot, or the clawed thumbs at the top of each wing. These awkward landings often cause fights among flying foxes, especially upon their return to camp at dawn. A single bad landing can cause an entire bat-laden tree to become highly agitated, full of fighting and screaming residents.
People have eaten flying foxes for ages. Samoans, who call the flying fox manu lagi (animal of the heavens) use branches bound to the end of long poles to swat the winged delicacy from the sky. Aborigines in Australia build fires beneath flying fox camps-- the smoke stupefies the prey -- and use boomerangs to knock the creatures to the ground. Darren Kelly was the production editor, George Jansen was the copyeditor, and Audrey Doyle was the proofreader for sendmail, Third Edition. Mary Brady, Linley Dolby, Matt Hutchinson, and Claire Cloutier provided quality control. Reg Aubry, Genevieve d'Entremont, and Judy Hoer provided production support. Brenda Miller updated the index from the second edition.
Edie Freedman designed the cover of this book. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
David Futato designed the interior layout. This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is Lucas-Font's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. This colophon was written by Michael Kalantarian.
