Sendmail - Introduction

From Wiki-UX.info
Jump to: navigation, search

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.

What is Sendmail?

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

Mail Messages have three cleary separate components: Envelope, Header and Body.

Envelope

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

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

>------------ 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

Presentation

Authors

BACK TO Sendmail Handbook