Sendmail - Introduction
Sendmail acts as a post office, to which all messages can be submitted for routing. Sendmail interprets both Internet (that is, user @domain) and UUCP (that is, host !user) styles of addressing. The Sendmail configuration file controls how the addresses are interpreted. Sendmail can rewrite message addresses to conform to standards on many common target networks.
The original version of Sendmail was written by Eric Allman in the early 1980s at UC Berkeley, who had also written delivermail previously. Delivermail was shipped in 1979 with 4.0 and 4.1 BSD. Sendmail was shipped with BSD 4.1c in 1983 (the first BSD version to include TCP/IP)
Sendmail can be difficult to configure. Whereas nearly all popular Unix based server software has human readable configuration files, Sendmail's configuration is not considered human readable. Instead, the Sendmail authors recommend that administrators learn and use macro language tools, particularly M4 to configure Sendmail. Sendmail is unique amongst Unix based MTAs in this requirement, and no MTA developed since Sendmail requires or recommends the use of macro languages for configuration.
Sendmail supports a variety of mail transfer protocols, including SMTP, ESMTP, DECnet's mail11, HylaFax, QuickPage and UUCP. Additionally, Sendmail v8.12 as of September 2001 introduced support for milters - external mail filtering programs that can participate in each step of the SMTP conversation.
Contents
What is Sendmail?[edit]
Sendmail is a Mail Transfer Agent (MTA). An MTA is a program that is responsible for delivering electronic mail messages.
Upon receiving a message from an MUA or another MTA, an MTA stores the message locally, analyzes the recipients, and either delivers the message (for local addresses) or forwards the message to another MTA for routing.
In either case, the MTA can edit and add to the message headers.
Part of a Mail Message[edit]
Mail Messages have three cleary separate components: Envelope, Header and Body.
Envelope[edit]
From root@crrp4440.cri.hp.com Wed Jul 23 08:22:22 CDT 2008
Received: (from root@localhost)
by crrp4440.cri.hp.com (8.11.1 (PHNE_35951)/8.11.1) id m6NDMMO05254;
Wed, 23 Jul 2008 08:22:22 -0500 (CDT)
Date: Wed, 23 Jul 2008 08:22:22 -0500 (CDT)
Message-Id: <200807231322.m6NDMMO05254@crrp4440.cri.hp.com>
- Sender/Recipient information needed for delivery of messages
- "Mail From:" / "Rcpt To:" headers.
- Contains the address’s necessary for the MTA to route the message
- Data stored in the QF file
Header[edit]
To: root@crrp4440.cri.hp.com
From: root@crrp4440.cri.hp.com
Subject: crrp4440.cri.hp.com: Event Monitor Notification
- Contains the "From:" / "To:" headers.
- Headers are defined in RFC 822.
- Header and body section are separated by a blank line
- Data stored in the QF file
Body[edit]
>------------ Event Monitoring Service Event Notification ------------<
Notification Time: Wed Jul 23 08:22:22 2008
crrp4440.cri.hp.com sent Event Monitor notification information:
/storage/events/disks/default/0_1_2_1.0.0 is >= 3.
Its current value is CRITICAL(5).
Event data from monitor:
Event Time..........: Wed Jul 23 08:22:22 2008
Severity............: CRITICAL
Monitor.............: disk_em
Event #.............: 3
System..............: crrp4440.cri.hp.com
Summary:
Disk at hardware path 0/1/2/1.0.0 : Drive is not responding.
Description of Error:
As part of the polling functionality, the monitor periodically requests
data from the device. The monitor's request of Test Unit Ready command
failed.
Probable Cause / Recommended Action:
The I/O request that the monitor made to this device failed because the
device timed-out. Check cables, power supply, ensure the drive is powered
ON, and if needed contact your HP support representative.
Additional Event Data:
System IP Address...: 16.90.48.69
Event Id............: 0x4887308e00000000
Monitor Version.....: B.01.01
Event Class.........: I/O
Client Configuration File...........:
/var/stm/config/tools/monitor/default_disk_em.clcfg
Client Configuration File Version...: A.01.00
Qualification criteria met.
Number of events..: 1
Associated OS error log entry id(s):
None
Additional System Data:
System Model Number.............: 9000/800/rp4440
OS Version......................: B.11.23
STM Version.....................: C.54.00
EMS Version.....................: A.04.20
Latest information on this event:
http://docs.hp.com/hpux/content/hardware/ems/disk_em.htm#3
v-v-v-v-v-v-v-v-v-v-v-v-v D E T A I L S v-v-v-v-v-v-v-v-v-v-v-v-v
Component Data:
Physical Device Path...: 0/1/2/1.0.0
Device Class...........: Disk
Inquiry Vendor ID......: HP 36.4G
Inquiry Product ID.....: ST336754LC
Firmware Version.......: HPC3
Serial Number..........: 3KQ1YQKE00007702UQHD
Product/Device Identification Information:
Logger ID.........: disc30; sdisk
Product Identifier: Disk
Product Qualifier.: HP 36.4GST336754LC
SCSI Target ID....: 0x00
SCSI LUN..........: 0x00
SCSI Command Data Block:
Command Data Block Contents:
0x0000: 00 00 00 1E 7B 03 47 C4 00 00
Command Data Block Fields (6-byte fmt):
Command Operation Code...(0x00)..: TEST UNIT READY
Logical Unit Number..............: 0
Hardware Status: (not present in log record).
SCSI Sense Data: (not present in log record)
>---------- End Event Monitoring Service Event Notification ----------<
- Contains the data to be sent excluding the header.
- Can contain many different data types
- Data stored in the DF file
Reference[edit]
- HP-UX Mailing Services Administrator’s Guide - HP-UX 11i v1 and HP-UX 11i v2
- Cedrone, Stuart. Module 6 - Sendmail Basic Configuration & Troubleshooting. 2006.03.23
Presentation[edit]
Authors[edit]
BACK TO Sendmail Handbook