40
© Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

© Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

Embed Size (px)

Citation preview

Page 1: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

© Dusan Baljevic The information contained herein is subject to change without notice

Sendmail X Version 10 or X Files?

Oct/Nov 2005Dusan Baljevic - Australia

Page 2: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

2

Workshop ObjectivesWorkshop Objectives

The purpose of this short seminar is to provide a broad The purpose of this short seminar is to provide a broad understanding of the various design principles and concepts understanding of the various design principles and concepts that exist in Sendmail X. An extensive number of on-line that exist in Sendmail X. An extensive number of on-line manuals and other references exist that provide a more in-manuals and other references exist that provide a more in-depth look into the topics discussed in this course.depth look into the topics discussed in this course.

1. Introduce Sendmail X1. Introduce Sendmail X

2. Provide basic installation and configuration tips2. Provide basic installation and configuration tips

3. Questions and Answers3. Questions and Answers

Page 3: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

3

Why Sendmail XWhy Sendmail X

Sendmail is one of the oldest Message Transfer Agents (MTA). It was Sendmail is one of the oldest Message Transfer Agents (MTA). It was incepted around 1977, known as “Bill Joy period”, when everything incepted around 1977, known as “Bill Joy period”, when everything seemed to be happening all at once. Heterogenous networks could seemed to be happening all at once. Heterogenous networks could not communicate via email effectively. The hooks for UUCP mail were not communicate via email effectively. The hooks for UUCP mail were done in /bin/mail. The hooks for BerkNet were done in Berkeley Mail done in /bin/mail. The hooks for BerkNet were done in Berkeley Mail and the hooks for Arpanet were different altogether.and the hooks for Arpanet were different altogether.

Eric Allman worked on Ingres Project at Berkeley and recognised a Eric Allman worked on Ingres Project at Berkeley and recognised a need to have a common MTA. Initially, he called it delivermail, which need to have a common MTA. Initially, he called it delivermail, which was the precursor of sendmail.was the precursor of sendmail.

Many versions of Sendmail have been generated in the past. The Many versions of Sendmail have been generated in the past. The current open-source version is at release 8.13.5.current open-source version is at release 8.13.5.

Several excellent competing products emerged in last several years: Several excellent competing products emerged in last several years: Exim, Postfix, Smail, Qmail. They have smaller code bases (typically Exim, Postfix, Smail, Qmail. They have smaller code bases (typically being half the size of Sendmail, or less), do not support the legacy being half the size of Sendmail, or less), do not support the legacy features, and generally had less programming bugs and security features, and generally had less programming bugs and security threats.threats.

Page 4: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

4

Sendmail X Main FeaturesSendmail X Main Features

Its current version is Beta 4.0. Project leader is Claus Assmann.Its current version is Beta 4.0. Project leader is Claus Assmann.

Sendmail X has a slightly different license than Sendmail 8.Sendmail X has a slightly different license than Sendmail 8.

It supports the Simple Mail Transfer Protocol (SMTP) as specified It supports the Simple Mail Transfer Protocol (SMTP) as specified by RFC 2821 and by RFC 2821 and

various extensions, like STARTTLS, AUTH, PIPELINING, and other various extensions, like STARTTLS, AUTH, PIPELINING, and other protocols (LMTP, protocols (LMTP,

for example). for example).

It was designed as a secure and efficient mail gateway. It was designed as a secure and efficient mail gateway.

It does not provide any mail content modification capabilities like It does not provide any mail content modification capabilities like masquerading masquerading

of addresses or changing (addition, removal) of headers. Later of addresses or changing (addition, removal) of headers. Later versions will versions will

probably add those features. probably add those features.

Page 5: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

5

Sendmail X Main FeaturesSendmail X Main Features

It is a modularized message transfer system consisting of at least It is a modularized message transfer system consisting of at least five persistent five persistent

processes, four of which are multi-threaded. processes, four of which are multi-threaded.

A central queue manager (QMGR) controls SMTP servers (SMTPS) A central queue manager (QMGR) controls SMTP servers (SMTPS) and SMTPand SMTP

clients (SMTPC) to receive and send email messages, an address clients (SMTPC) to receive and send email messages, an address resolverresolver

(SMAR) provides lookups in various maps including DNS for mail (SMAR) provides lookups in various maps including DNS for mail routing, and a routing, and a

main control program (MCP) starts the others processes and main control program (MCP) starts the others processes and monitors them. monitors them.

The queue manager organizes the flow of messages through the The queue manager organizes the flow of messages through the system and system and

provides measures to avoid overloading the local or remote provides measures to avoid overloading the local or remote systems by systems by

implementing a central control instance.implementing a central control instance.

Page 6: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

6

SendmailSendmail X – Key Principles X – Key PrinciplesRobustnessRobustnessFlexibilityFlexibilityScalabilityScalabilityExtendabilityExtendabilityMaintainabilityMaintainabilityPortabilityPortabilityAutomated TestingAutomated TestingBackward Compatibility (as much as possible)Backward Compatibility (as much as possible)

It has three queues on disk ("persistent" queues):It has three queues on disk ("persistent" queues):

IBDB: incoming envelope information IBDB: incoming envelope information DEFEDB: deferred envelope information DEFEDB: deferred envelope information CDB: content database CDB: content database

The first two are exclusively handled by QMGR, the third one is The first two are exclusively handled by QMGR, the third one is

written by SMTPS, read bywritten by SMTPS, read by SMTPC, and entries are removed by SMTPC, and entries are removed by QMGR. QMGR.

Page 7: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

7

Building Sendmail XBuilding Sendmail X

The configuration file is generated by GNU autoconf. The configuration file is generated by GNU autoconf.

The simplest method to build it in the source tree (The simplest method to build it in the source tree (onlyonly use a use a privileged account if it is really required, but most of the privileged account if it is really required, but most of the programs refuse to run with root privileges):programs refuse to run with root privileges):

./configure./configuremakemakemake check make check

Other options:Other options:-enable-TLS -enable-TLS -enable-SASL -enable-SASL -with-sasl-libdir=path -with-sasl-libdir=path -with-sasl-incdir=path -with-sasl-incdir=path -disable-included-bdb -disable-included-bdb -with-bdb-libdir=path-with-bdb-libdir=path-with-bdb-incdir=path -with-bdb-incdir=path -enable-pmilter -enable-pmilter

Page 8: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

8

Sendmail X - RFCsSendmail X - RFCsRFC 974Mail Routing and the Domain SystemRFC 974Mail Routing and the Domain SystemRFC 1123Internet Host RequirementsRFC 1123Internet Host RequirementsRFC 1652SMTP 8BITMIME ExtensionRFC 1652SMTP 8BITMIME ExtensionRFC 1869SMTP Service ExtensionsRFC 1869SMTP Service ExtensionsRFC 1870SMTP SIZE ExtensioRFC 1870SMTP SIZE ExtensioRFC 1891SMTP Delivery Status NotificationsRFC 1891SMTP Delivery Status NotificationsRFC 1892The Multipart/Report Content Type for the Reporting of Mail RFC 1892The Multipart/Report Content Type for the Reporting of Mail

System Administrative MessagesSystem Administrative MessagesRFC 1893Enhanced Mail System Status CodesRFC 1893Enhanced Mail System Status CodesRFC 1894Delivery Status NotificationsRFC 1894Delivery Status NotificationsRFC 1985SMTP Service Extension for Remote Message Queue StartingRFC 1985SMTP Service Extension for Remote Message Queue StartingRFC 2033Local Mail Transfer ProtocolRFC 2033Local Mail Transfer ProtocolRFC 2034SMTP Service Extension for Returning Enhanced Error CodesRFC 2034SMTP Service Extension for Returning Enhanced Error CodesRFC 2045Multipurpose Internet Mail Extensions (MIME) Part One: Format RFC 2045Multipurpose Internet Mail Extensions (MIME) Part One: Format

of Internet Message Bodiesof Internet Message BodiesRFC 2476Message SubmissionRFC 2476Message SubmissionRFC 2487SMTP Service Extension for Secure SMTP over TLSRFC 2487SMTP Service Extension for Secure SMTP over TLSRFC 2554SMTP Service Extension for AuthenticationRFC 2554SMTP Service Extension for AuthenticationRFC 2822Internet Message FormatRFC 2822Internet Message FormatRFC 2852Deliver By SMTP Service ExtensionRFC 2852Deliver By SMTP Service ExtensionRFC 2920SMTP Service Extension for Command PipeliningRFC 2920SMTP Service Extension for Command Pipelining

Page 9: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

9

Installing Sendmail XInstalling Sendmail XUnix accounts to provide separation of privileges and to enhance Unix accounts to provide separation of privileges and to enhance security:security:

smxs:*:260:260:Sendmail X smxs:*:260:260:Sendmail X SMTPS:/nonexistent:/sbin/nologin SMTPS:/nonexistent:/sbin/nologin smxq:*:261:261:Sendmail X smxq:*:261:261:Sendmail X QMGR:/nonexistent:/sbin/nologin QMGR:/nonexistent:/sbin/nologin smxc:*:262:262:Sendmail X smxc:*:262:262:Sendmail X SMTPC:/nonexistent:/sbin/nologin SMTPC:/nonexistent:/sbin/nologin smxm:*:263:263:Sendmail X smxm:*:263:263:Sendmail X misc:/nonexistent:/sbin/nologin misc:/nonexistent:/sbin/nologin smx:*:264:264:Sendmail X smx:*:264:264:Sendmail X other:/nonexistent:/sbin/nologin other:/nonexistent:/sbin/nologin

Corresponding Unix groups: Corresponding Unix groups:

smxs:*:260: smxs:*:260:

smxq:*:261: smxq:*:261:

smxc:*:262:smxs smxc:*:262:smxs

smxm:*:263:smxs,smxq smxm:*:263:smxs,smxq

smx:*:264: smx:*:264:

To check whether the required users and groups exist, run To check whether the required users and groups exist, run

./misc/sm.check.sh -p (in the build directory) ./misc/sm.check.sh -p (in the build directory)

Page 10: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

10

Sendmail X Block Diagram

(Copyright Claus Assmann)

Page 11: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

11

Sendmail X Directory Sendmail X Directory StructureStructure

A shell script to setup the directories, files is available in A shell script to setup the directories, files is available in misc/sm.setup.sh. It is is invoked when misc/sm.setup.sh. It is is invoked when

make install make install

is run. Majority of default values in the installation script can be is run. Majority of default values in the installation script can be overridden through environment variables (defaults are listed in overridden through environment variables (defaults are listed in square brackets): square brackets):

SMXCONFDIR: [/etc/smx] configuration directorySMXCONFDIR: [/etc/smx] configuration directory

SMXQDIR: [/var/spool/smx] queue directory; communication sockets SMXQDIR: [/var/spool/smx] queue directory; communication sockets are created in this directory by defaultare created in this directory by default

SMXLOGDIR: [.] logging directory (relative to SMXQDIR). If logging is SMXLOGDIR: [.] logging directory (relative to SMXQDIR). If logging is done via syslog(3) then this directory is not useddone via syslog(3) then this directory is not used

SMXS [smxs] SMTP Server user and group SMXS [smxs] SMTP Server user and group

SMXC [smxc] SMTP Client user and group SMXC [smxc] SMTP Client user and group

SMXQ [smxq] QMGR user and groupSMXQ [smxq] QMGR user and group

SMXM [smxm] address resolver (misc) user and group SMXM [smxm] address resolver (misc) user and group

SMX [smx] generic (configuration) user and groupSMX [smx] generic (configuration) user and group

SMXLG group for log files; the install program tries operator, sysadmin, SMXLG group for log files; the install program tries operator, sysadmin, and root and root

Page 12: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

12

Sendmail X Directory and File Sendmail X Directory and File

PermissionsPermissions The CDB directories (0-9, A-F) must be owned by smxs and have The CDB directories (0-9, A-F) must be owned by smxs and have

group smxq with the group smxq with the permissions 0771: permissions 0771:

drwxrwx--x 2 smxs smxq 0/ drwxrwx--x 2 smxs smxq 0/

The main (DEFEDB) and incoming queues (IBDB) must belong to The main (DEFEDB) and incoming queues (IBDB) must belong to smxq and should notsmxq and should not

accessible by anyone else: accessible by anyone else:

drwx------ 2 smxq smxq defedb/ drwx------ 2 smxq smxq defedb/ drwx------ 2 smxq smxq ibdb/ drwx------ 2 smxq smxq ibdb/ drwx------ 2 smxq smxq ibdb/ibdb/ drwx------ 2 smxq smxq ibdb/ibdb/

Mailertable, aliases map, and other maps for SMAR should belong Mailertable, aliases map, and other maps for SMAR should belong to smxm and can beto smxm and can be

readable as local conventions require: readable as local conventions require:

-rw-r--r-- 1 smxm smxm mt -rw-r--r-- 1 smxm smxm mt -rw-r--r-- 1 smxm smxm aliases.db -rw-r--r-- 1 smxm smxm aliases.db

In general, maps should be owned by the user id of the program In general, maps should be owned by the user id of the program that uses them.that uses them.

Page 13: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

13

Sendmail X Directory and File Sendmail X Directory and File Permissions (continued)Permissions (continued)

The sendmail X configuration file smx.conf can belong to root or the generic The sendmail X configuration file smx.conf can belong to root or the generic Sendmail X user. Sendmail X user.

The directories in which the communication sockets between QMGR and the The directories in which the communication sockets between QMGR and the other programs areother programs are

located must belong to smxq and be group accessible for the corresponding located must belong to smxq and be group accessible for the corresponding program: program:

drwxrws--- 2 smxq smxm qmsmar/ drwxrws--- 2 smxq smxm qmsmar/ drwxrws--- 2 smxq smxc qmsmtpc/ drwxrws--- 2 smxq smxc qmsmtpc/ drwxrws--- 2 smxq smxs qmsmtps/ drwxrws--- 2 smxq smxs qmsmtps/

The directory in which the communication socket between MCP and SMTPS is The directory in which the communication socket between MCP and SMTPS is located mustlocated must

belong to smxs: belong to smxs:

drwxr-x--- 2 smxs smxs smtps/ drwxr-x--- 2 smxs smxs smtps/

The log files must be owned by the corresponding user and may have relaxed The log files must be owned by the corresponding user and may have relaxed group (or evengroup (or even

world) read permissions: world) read permissions:

-rw-r----- 1 smxq operator qmgr.log -rw-r----- 1 smxq operator qmgr.log -rw-r----- 1 smxm operator smar.log -rw-r----- 1 smxm operator smar.log -rw-r----- 1 smxc operator smtpc.log -rw-r----- 1 smxc operator smtpc.log -rw-r----- 1 smxs operator smtps.log -rw-r----- 1 smxs operator smtps.log

Page 14: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

14

Sendmail X smx.conf (part 1)Sendmail X smx.conf (part 1)

CDB_base_directory = “/var/spool/smx";CDB_base_directory = “/var/spool/smx";

# activate this for local delivery using procmail and LMTP # activate this for local delivery using procmail and LMTP

lmtp {lmtp {

listen_socket { type=unix;listen_socket { type=unix;

path = lmtpsock; umask = 007;path = lmtpsock; umask = 007;

user = root; group = smxc; }user = root; group = smxc; }

start_action = nostartaccept;start_action = nostartaccept;

min_processes = 1;min_processes = 1;

max_processes = 8;max_processes = 8;

user = root;user = root;

path = /usr/bin/procmail;path = /usr/bin/procmail;

arguments = "procmail -z+";arguments = "procmail -z+";

}}

Page 15: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

15

Sendmail X smx.conf (part 2)Sendmail X smx.conf (part 2)

smtps {smtps {

log_level = 11;log_level = 11;

log { facility=mail; ident="smtps"; }log { facility=mail; ident="smtps"; }

CDB_gid = 262;CDB_gid = 262;

wait_for_server = 4;wait_for_server = 4;

listen_socket { type=inet; port = 25; }listen_socket { type=inet; port = 25; }

start_action = pass;start_action = pass;

pass_fd_socket = smtps/smtpsfd;pass_fd_socket = smtps/smtpsfd;

user = smxs;user = smxs;

path = "/usr/local/libexec/smtps";path = "/usr/local/libexec/smtps";

arguments = "smtps -f /etc/smx/smx.conf"; arguments = "smtps -f /etc/smx/smx.conf";

}}

Page 16: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

16

Sendmail X smx.conf (part 3)Sendmail X smx.conf (part 3)

smtpc {smtpc {

log_level = 11;log_level = 11;

log { facility=mail; ident="smtpc"; }log { facility=mail; ident="smtpc"; }

wait_for_server = 4;wait_for_server = 4;

start_action = wait;start_action = wait;

user = smxc;user = smxc;

path = "/usr/local/libexec/smtpc";path = "/usr/local/libexec/smtpc";

arguments = "smtpc -f /etc/smx/smx.conf"; arguments = "smtpc -f /etc/smx/smx.conf";

}}

Page 17: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

17

Sendmail X smx.conf (part 4)Sendmail X smx.conf (part 4)qmgr {qmgr {

log_level = 12;log_level = 12;log { facility=mail; ident="qmgr"; }log { facility=mail; ident="qmgr"; }wait_for_server = 4;wait_for_server = 4;wait_for_client = 3;wait_for_client = 3;start_action = wait;start_action = wait;user = smxq;user = smxq;restart_dependencies = { smtps, smtpc, smar };restart_dependencies = { smtps, smtpc, smar };path = "/usr/local/libexec/qmgr";path = "/usr/local/libexec/qmgr";arguments = "qmgr -f /etc/smx/smx.conf"; }arguments = "qmgr -f /etc/smx/smx.conf"; }

smar {smar {log_level = 12;log_level = 12;log { facility=mail; ident="smar"; }log { facility=mail; ident="smar"; }nameserver = 203.62.129.196;nameserver = 203.62.129.196;start_action = wait;start_action = wait;user = smxm;user = smxm;restart_dependencies = { smtps, qmgr };restart_dependencies = { smtps, qmgr };path = "/usr/local/libexec/smar";path = "/usr/local/libexec/smar";arguments = "smar -f /etc/smx/smx.conf"; }arguments = "smar -f /etc/smx/smx.conf"; }

Page 18: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

18

Sendmail X Mailertable RoutingSendmail X Mailertable Routing

This file must exist, even if there are no entries.This file must exist, even if there are no entries.

localhost localhost lmtp:lmtp:zorro2.myfundom.domzorro2.myfundom.dom lmtp:lmtp:zorro2zorro2 lmtp:lmtp:loghostloghost lmtp:lmtp:island.myfundom.domisland.myfundom.dom lmtp:lmtp:localhost.myfundom.domlocalhost.myfundom.dom lmtp:lmtp:mydomain.commydomain.com smtp:[192.168.49.25]:[10.44.18.79]smtp:[192.168.49.25]:[10.44.18.79]anotherdomain.net.auanotherdomain.net.auesmtp:antivirus.srv.net.auesmtp:antivirus.srv.net.aumyrealdom.dommyrealdom.domesmtp:pathetic.myfundom.domesmtp:pathetic.myfundom.dom.. esmtp:smart-relay.myfundom.domesmtp:smart-relay.myfundom.dom

Page 19: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

19

Sendmail X AliasesSendmail X Aliases

Berkeley DB hash map aliases.db is used.Berkeley DB hash map aliases.db is used.

postmaster: postmaster: dbaljevidbaljevi

root:root: dbaljevidbaljevi

dbaljevi:dbaljevi: local:local:

adm:adm: local:local:[email protected]:: dbaljevidbaljevi

Page 20: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

20

Sendmail X Access List (part 1)Sendmail X Access List (part 1)

cltresolve:tempptr cltresolve:tempptr error:451 4.7.1 reverse lookup failed error:451 4.7.1 reverse lookup failed

mxbadip:127.0.0.1 mxbadip:127.0.0.1 error:551 5.7.1 Bad IP address in MX/A list error:551 5.7.1 Bad IP address in MX/A list

mxbadip:10.68.2.25mxbadip:10.68.2.255 5 error:551 5.7.1 Bad IP address in MX/A list error:551 5.7.1 Bad IP address in MX/A list

from:@spammer.dofrom:@spammer.domain main error:551 5.7.1 No spammers error:551 5.7.1 No spammers

from:@.spammer.dfrom:@.spammer.domain omain

error:551 5.7.1 No spammers in subdomains error:551 5.7.1 No spammers in subdomains either either

to:root to:root error:551 5.7.1 No mail to root error:551 5.7.1 No mail to root

to:abuse to:abuse quick:ok quick:ok

cltaddr:10 cltaddr:10 error:551 5.7.1 No direct mail from 10.x.y.z error:551 5.7.1 No direct mail from 10.x.y.z

cltname:spammer.dcltname:spammer.doman oman

quick:error:551 5.7.1 No mail from quick:error:551 5.7.1 No mail from spammers spammers

to:@primary.domaito:@primary.domain n relay relay

cltaddr:10 cltaddr:10 relay relay

cltaddr:127.0.0.1 cltaddr:127.0.0.1 quick:relayquick:relay

Page 21: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

21

Sendmail X Access List (part 2)Sendmail X Access List (part 2)

to:@myotherdomain.comto:@myotherdomain.com error:451 4.3.3 Try primary error:451 4.3.3 Try primary MX serverMX server

to:[email protected]:[email protected] relayrelay

to:[email protected]:[email protected] relayrelay

protectedrcpt:[email protected]:[email protected] list:<mail-list:<[email protected]> [email protected]>

protectedrcpt:mail-list3protectedrcpt:mail-list3from:<[email protected]> from:<[email protected]>

cltaddr:192.168.44.2 cltaddr:10cltaddr:192.168.44.2 cltaddr:10

Page 22: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

22

Sendmail X Access List (Sendmail X Access List (part 2)art 2)

Tags

from: envelope sender address (MAIL)to: envelope recipient address (RCPT)cltaddr: client IPv4 addresscltname: client host namecltresolve: result of forward and reverse client lookupmxbadip: IPv4 addresses that are not allowed for MX - A recordscertissuer: DN of CA cert that signed that presented certcertsubject: DN of presented certprotectedrcpt: restrictions for recipient address

Page 23: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

23

Sendmail X SMAR MapsSendmail X SMAR Maps

type: type of the map; currently one of hash (Berkeley DB hash), type: type of the map; currently one of hash (Berkeley DB hash), sequence, socket, and passwd. sequence, socket, and passwd.

file: the filename of the DB file (including the extension) (for file: the filename of the DB file (including the extension) (for type hash). type hash).

mapname: name of the map used in the protocol (type socket mapname: name of the map used in the protocol (type socket only). only).

address: IPv4 address of inet socket. (type socket only). address: IPv4 address of inet socket. (type socket only). path: the pathname of the Unix domain socket (for type socket). path: the pathname of the Unix domain socket (for type socket). port: port for inet socket (type socket only). port: port for inet socket (type socket only). maps: list of map names to use in the map (type sequence only). maps: list of map names to use in the map (type sequence only).

Examples: Examples: map localusers { type = hash; file = "/etc/smx/localusers.db"; } map localusers { type = hash; file = "/etc/smx/localusers.db"; } map otherusers { type = hash; file = "/etc/smx/otherusers.db"; } map otherusers { type = hash; file = "/etc/smx/otherusers.db"; } map password { type = passwd; } map password { type = passwd; } map seq1 { type = sequence; maps = { localusers, map seq1 { type = sequence; maps = { localusers, otherusers }; } otherusers }; } map seq2 { type = sequence; maps = { password, map seq2 { type = sequence; maps = { password, otherusers }; } otherusers }; }

Page 24: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

24

Sendmail X DNS Lookups in Sendmail X DNS Lookups in BlacklistsBlacklists

smar { dnsbl { domain = rbl-plus.mail-abuse.org; tag = dnsblmain; } } smar { dnsbl { domain = rbl-plus.mail-abuse.org; tag = dnsblmain; } } smar { dnsbl { domain = dnsbl.njabl.org; tag = dnsbldue; } }smar { dnsbl { domain = dnsbl.njabl.org; tag = dnsbldue; } }smar { dnsbl { domain = bl.spamcop.net; tag = dnsbltre; } }smar { dnsbl { domain = bl.spamcop.net; tag = dnsbltre; } }smar { dnsbl { domain = dnsbl.sorbs.net; tag = dnsblqua; } }smar { dnsbl { domain = dnsbl.sorbs.net; tag = dnsblqua; } }

dnsblmain:127.0.0.1 error:550 5.7.1Listed at rbl-plus.mail-abuse.org as dnsblmain:127.0.0.1 error:550 5.7.1Listed at rbl-plus.mail-abuse.org as open relay open relay

dnsbltdue:127.0.0.2 error:550 5.7.1 Listed at dnsbl.njabl.org as spam dnsbltdue:127.0.0.2 error:550 5.7.1 Listed at dnsbl.njabl.org as spam source source

dnsbltre:127.0.0.9 error:451 4.7.1 Listed at bl.spamcop.net as possible dnsbltre:127.0.0.9 error:451 4.7.1 Listed at bl.spamcop.net as possible spammer spammer

dnsblqua:temp error:451 4.7.1 Temporary lookup failure at dnsblqua:temp error:451 4.7.1 Temporary lookup failure at dnsbl.sorbs.netdnsbl.sorbs.net

If multiple RBLs are specified, the DNS queries are initiated at the same If multiple RBLs are specified, the DNS queries are initiated at the same time. Notetime. Note

that the lookups in the access map are performed in the order in which that the lookups in the access map are performed in the order in which the blacklists the blacklists

are given; the first successful lookup is used as result, no further queries are given; the first successful lookup is used as result, no further queries are are

performed. performed.

Page 25: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

25

Sendmail X Greylisting (part 1)Sendmail X Greylisting (part 1)

Supports a very simple form of greylisting.Supports a very simple form of greylisting.

Uses the client IP address as key instead of a tuple consisting of client IP address, Uses the client IP address as key instead of a tuple consisting of client IP address, envelope sender, and envelope recipient. envelope sender, and envelope recipient.

Design goal was: do not accept mail from an unknown source on the first Design goal was: do not accept mail from an unknown source on the first connection, connection,

but reject it with a temporary error. Any MTA that conforms to RFC 2821 will try to but reject it with a temporary error. Any MTA that conforms to RFC 2821 will try to send the mail later on, however, spamming systems often do not do that. send the mail later on, however, spamming systems often do not do that.

An IP address can be in three different states: An IP address can be in three different states: unknownunknown: the client has not : the client has not connected connected

before or the entry is expired from the database, before or the entry is expired from the database, greylistedgreylisted: the client has : the client has connected connected

before but it did not yet connect again within the configured time interval, before but it did not yet connect again within the configured time interval, whitelistedwhitelisted: :

the client has connected before and it connected again within the configured time the client has connected before and it connected again within the configured time interval. interval.

Greylisting is performed at the RCPT stage of the SMTP dialogue. It is only done Greylisting is performed at the RCPT stage of the SMTP dialogue. It is only done when when

a valid recipient is specified - all other checks must have been successful. Clients a valid recipient is specified - all other checks must have been successful. Clients that that

do not try to send mail or just try invalid recipient addresses will not be added to do not try to send mail or just try invalid recipient addresses will not be added to the the

greylisting database. greylisting database.

Page 26: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

26

Sendmail X Greylisting (part 2)Sendmail X Greylisting (part 2)Greylisting can be disabled for selected hosts by adding them to the Greylisting can be disabled for selected hosts by adding them to the

access map:access map:

cltaddr:10.15 cltaddr:10.15 relayrelaycltaddr:192.168.38cltaddr:192.168.38 relay relay cltaddr:127.0.0.1cltaddr:127.0.0.1 quick:relay quick:relay

Some mailers do not behave properly and will not retry a mail that had Some mailers do not behave properly and will not retry a mail that had a temporary a temporary

error. This can cause mail loss in various situations like when the error. This can cause mail loss in various situations like when the receiving system is receiving system is

currently out of some resources. To minimize the impact: currently out of some resources. To minimize the impact:

cltaddr:192.168.17.45cltaddr:192.168.17.45 ok ok cltaddr:203.18.150.1cltaddr:203.18.150.1 ok ok

A list of broken mailers can be found at:A list of broken mailers can be found at:

http://cvs.puremagic.com/viewcvs/greylisting/schema/http://cvs.puremagic.com/viewcvs/greylisting/schema/whitelist_ip.txtwhitelist_ip.txt

A related problem are server farms where a mail could be sent from a A related problem are server farms where a mail could be sent from a different IP different IP

address each time, or if a client authenticates via STARTTLS or AUTH. address each time, or if a client authenticates via STARTTLS or AUTH.

Page 27: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

27

Sendmail X Startup (part 1)Sendmail X Startup (part 1)/etc/rc2.d/S88smx/etc/rc2.d/S88smx

#!/bin/sh#!/bin/sh# start sendmail X via MCP# start sendmail X via MCPMCPPID=mcp.pidMCPPID=mcp.pidMCPOUT=mcp.outMCPOUT=mcp.outstart_mcp()start_mcp(){{

/usr/local/sbin/mcp -l -p ${MCPPID} /etc/smx/smx.conf > /usr/local/sbin/mcp -l -p ${MCPPID} /etc/smx/smx.conf > ${MCPOUT} 2>&1 & ${MCPOUT} 2>&1 &

}}stop_mcp()stop_mcp(){{

if test -s ${MCPPID}; thenif test -s ${MCPPID}; thenkill `head -1 ${MCPPID}`kill `head -1 ${MCPPID}`

elseelseecho "$0: pid file ${MCPPID} does not exist or is echo "$0: pid file ${MCPPID} does not exist or is

empty“empty“fifi

}}

Page 28: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

28

Sendmail X Start (part 2)Sendmail X Start (part 2)if cd "/var/spool/smx"; thenif cd "/var/spool/smx"; then ::elseelse

echo "$0: cd /var/spool/smx failed"echo "$0: cd /var/spool/smx failed"exit 1exit 1

fificase "$1" incase "$1" in

'start') start_mcp ;;'start') start_mcp ;;'stop') stop_mcp ;;'stop') stop_mcp ;;'restart') stop_mcp'restart') stop_mcp

start_mcp ;;start_mcp ;;*) echo "Usage: $0 { start | stop | restart }"*) echo "Usage: $0 { start | stop | restart }"

exit 1 ;;exit 1 ;;esacesacexit 0exit 0

Page 29: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

29

Sendmail X Misc (part 1)Sendmail X Misc (part 1)

Strict RFC Compliance Strict RFC Compliance

The SMTP server currently enforces fairly strict RFC 2821 compliance. For The SMTP server currently enforces fairly strict RFC 2821 compliance. For example, example,

a MAIL command must be given in the following format a MAIL command must be given in the following format MAIL From:MAIL From:[email protected]

The angle brackets are required, there must be no space after ":", etc. This The angle brackets are required, there must be no space after ":", etc. This has the has the

useful side effect of catching some spam programs: useful side effect of catching some spam programs: 5.5.0 Syntax error., input=MAIL FROM: <[email protected]> 5.5.0 Syntax error., input=MAIL FROM: <[email protected]>

Server requires that lines end in CRLF (\r\n), it will not accept command input Server requires that lines end in CRLF (\r\n), it will not accept command input without the correct line ending (trying to do that will cause a read error).without the correct line ending (trying to do that will cause a read error). MX records MX records mustmust point to hostnames, not IP addresses. This applies to point to hostnames, not IP addresses. This applies to

receiving mail -receiving mail -a MAIL address using a domain whose MX record points to an IP address will a MAIL address using a domain whose MX record points to an IP address will

be be rejected (553 5.1.8 Sender address does not exist) - as well as to sending rejected (553 5.1.8 Sender address does not exist) - as well as to sending

mail – a mail – a RCPT address with a domain whose MX record points to an IP address is not RCPT address with a domain whose MX record points to an IP address is not resolved by SMAR. resolved by SMAR.

Page 30: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

30

Sendmail X Misc (part 2)Sendmail X Misc (part 2)

root 7950 1 0 Oct 12 pts/25 0:00 /usr/local/sbin/mcp -l –p mcp.pidroot 7950 1 0 Oct 12 pts/25 0:00 /usr/local/sbin/mcp -l –p mcp.pid/etc/smx/smx.conf/etc/smx/smx.confsmxs 7954 7950 0 Oct 12 ? 0:00 smtps -f /etc/smx/smx.confsmxs 7954 7950 0 Oct 12 ? 0:00 smtps -f /etc/smx/smx.confsmxm 7951 7950 0 Oct 12 ? 0:00 smar -f /etc/smx/smx.confsmxm 7951 7950 0 Oct 12 ? 0:00 smar -f /etc/smx/smx.confsmxc 7953 7950 0 Oct 23 ? 0:00 smtpc -f /etc/smx/smx.confsmxc 7953 7950 0 Oct 23 ? 0:00 smtpc -f /etc/smx/smx.confsmxq 7952 7950 0 Oct 23 ? 0:00 qmgr -f /etc/smx/smx.confsmxq 7952 7950 0 Oct 23 ? 0:00 qmgr -f /etc/smx/smx.conf

/usr/local/bin/runas smxq /usr/local/bin/mailq -B/var/spool/smx/usr/local/bin/runas smxq /usr/local/bin/mailq -B/var/spool/smx /usr/local/bin/runas smx /usr/local/libexec/smar –D/usr/local/bin/runas smx /usr/local/libexec/smar –D /usr/local/bin/runas smxc /usr/local/libexec/smtpc –P 25/usr/local/bin/runas smxc /usr/local/libexec/smtpc –P 25 /usr/local/bin/runas smxs /usr/local/libexec/smtps –8/usr/local/bin/runas smxs /usr/local/libexec/smtps –8

Does not offer some of the features that are available in other MTAs. Does not offer some of the features that are available in other MTAs. Address Masquerading: The best way to use the correct e-mail Address Masquerading: The best way to use the correct e-mail

addresses is to properly configure your MUA. Some MUAs offer more addresses is to properly configure your MUA. Some MUAs offer more flexibility for this than the default masquerading features of sendmail flexibility for this than the default masquerading features of sendmail 8. Alternatively a mail submission program (MSP) can be used which 8. Alternatively a mail submission program (MSP) can be used which offers address rewriting capabilities (example, MSP from sendmail 8). offers address rewriting capabilities (example, MSP from sendmail 8).

.forward: procmail can be used as LDA and its configuration .forward: procmail can be used as LDA and its configuration file .procmailrc allows to implement the same functionality as file .procmailrc allows to implement the same functionality as a .forward from sendmail 8 and some other MTAs. a .forward from sendmail 8 and some other MTAs.

Sending mail to programs: Recommended to use procmail. Sending mail to programs: Recommended to use procmail. Appending mails to files: Recommended to use procmail.Appending mails to files: Recommended to use procmail.

Page 31: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

31

Sendmail X Makefile for Maps Sendmail X Makefile for Maps (part 1)(part 1)

# Makefile to create smX maps # Makefile to create smX maps MM=/usr/local/bin/createmap MM=/usr/local/bin/createmap all: aliases.db access.db qmgr_conf. mailertable.dball: aliases.db access.db qmgr_conf. mailertable.db

aliases.db:aliasesaliases.db:aliases -test -f aliases.db && mv aliases.db aliases.db--test -f aliases.db && mv aliases.db aliases.db- ${MM} <aliases ${MM} <aliases chown smxm aliases.dbchown smxm aliases.db chmod 664 aliases.dbchmod 664 aliases.db echo "kill -USR1 smar“echo "kill -USR1 smar“

access.db:accessaccess.db:access -test -f access.db && mv access.db access.db--test -f access.db && mv access.db access.db- ${MM} -w -F access.db < access${MM} -w -F access.db < access chown smxm access.dbchown smxm access.db chmod 664 access.dbchmod 664 access.db echo "kill -USR1 smar"echo "kill -USR1 smar"

Page 32: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

32

Sendmail X Makefile for Maps Sendmail X Makefile for Maps (part 2)(part 2)

mailertable.db:mailertablemailertable.db:mailertable -test -f mailertable.db && mv mailertable.db -test -f mailertable.db && mv mailertable.db

mailertable.db-mailertable.db- ${MM} -w -F mailertable.db < mailertable${MM} -w -F mailertable.db < mailertable chown smxm mailertable.dbchown smxm mailertable.db chmod 664 mailertable.dbchmod 664 mailertable.db echo "kill -USR1 smar"echo "kill -USR1 smar"

qmgr_conf.db:qmgr_confqmgr_conf.db:qmgr_conf -test -f qmgr_conf.db && mv qmgr_conf.db qmgr_conf.db--test -f qmgr_conf.db && mv qmgr_conf.db qmgr_conf.db- ${MM} -w -F qmgr_conf.db < qmgr_conf${MM} -w -F qmgr_conf.db < qmgr_conf chown smxq qmgr_conf.dbchown smxq qmgr_conf.db chmod 664 qmgr_conf.dbchmod 664 qmgr_conf.db echo "kill -USR1 qmgr"echo "kill -USR1 qmgr"

Page 33: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

33

Sendmail X Typical Message with Sendmail X Typical Message with HeadersHeaders

From [email protected] Mon Oct 10 10:40:49 2005From [email protected] Mon Oct 10 10:40:49 2005Return-Path: <[email protected]>Return-Path: <[email protected]>Received: from island.myfundom.dom Received: from island.myfundom.dom

(Hostname_Not_Determined [127.0.0.1](Hostname_Not_Determined [127.0.0.1] by island.myfundom.dom (sendmail X.0.0.Beta4.0) with by island.myfundom.dom (sendmail X.0.0.Beta4.0) with

ESMTPESMTP id S000000000000003100; Mon, 10 Oct 2005 10:40:49 +1000id S000000000000003100; Mon, 10 Oct 2005 10:40:49 +1000Received: (from root@localhost)Received: (from root@localhost) by island.myfundom.dom (8.12.10+Sun/8.12.5/Submit) id by island.myfundom.dom (8.12.10+Sun/8.12.5/Submit) id

j9A0em5S018536j9A0em5S018536 for dbaljevi; Mon, 10 Oct 2005 10:40:48 +1000 (EST)for dbaljevi; Mon, 10 Oct 2005 10:40:48 +1000 (EST)Date: Mon, 10 Oct 2005 10:40:48 +1000 (EST)Date: Mon, 10 Oct 2005 10:40:48 +1000 (EST)From: Super-User <[email protected]>From: Super-User <[email protected]>Message-Id: Message-Id:

<[email protected]><[email protected]>To: [email protected]: [email protected]: basic testSubject: basic test

Page 34: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

34

Sendmail X (Sys)Logging (part 1)Sendmail X (Sys)Logging (part 1)

Oct 4 12:55:26 zorro2 sendmail[13189]: [ID 801593 mail.info] Oct 4 12:55:26 zorro2 sendmail[13189]: [ID 801593 mail.info] j942tQPB013189: from=root, size=52, class=0, nrcpts=1, j942tQPB013189: from=root, size=52, class=0, nrcpts=1, msgid=<[email protected]>, msgid=<[email protected]>, relay=root@localhost relay=root@localhost

Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] sev=INFO, func=ss_hdl_session, ss_sess=S000000000000001D00, func=ss_hdl_session, ss_sess=S000000000000001D00, client_ipv4=127.0.0.1, client_name=Hostname_Not_Determinedclient_ipv4=127.0.0.1, client_name=Hostname_Not_Determined

Oct 4 12:55:26 zorro2 smar: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 smar: [ID 197553 mail.info] sev=INFO, func=smar_rcpt_rslv, status=resolved, pa=<[email protected]>, func=smar_rcpt_rslv, status=resolved, pa=<[email protected]>, mailer=lmtp_unix mailer=lmtp_unix

Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] ss_sess=S000000000000001D00, ss_ta=S000000000000002600, ss_sess=S000000000000001D00, ss_ta=S000000000000002600, mail=<[email protected]>, stat=0 mail=<[email protected]>, stat=0

Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] sev=INFO, func=ss_rcpt, Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] sev=INFO, func=ss_rcpt, ss_sess=S000000000000001D00, ss_ta=S000000000000002600, ss_sess=S000000000000001D00, ss_ta=S000000000000002600, rcpt=<[email protected]>, idx=0, stat=0 rcpt=<[email protected]>, idx=0, stat=0

Oct 4 12:55:26 zorro2 smar: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 smar: [ID 197553 mail.info] sev=INFO, func=smar_rcpt_rslv, status=resolved, func=smar_rcpt_rslv, status=resolved, pa=<[email protected]>, mailer=lmtp_unix pa=<[email protected]>, mailer=lmtp_unix

Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] func=qm_ibdb_commit, Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] func=qm_ibdb_commit, ss_ta=S000000000000002600, status=accepted ss_ta=S000000000000002600, status=accepted

Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] func=qmgr_sched_dlvry, Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] func=qmgr_sched_dlvry, ss_ta=S000000000000002600, da_sess=C010000000200000000, ss_ta=S000000000000002600, da_sess=C010000000200000000, da_ta=C010000000300000000, rcpt=<[email protected]>, da_ta=C010000000300000000, rcpt=<[email protected]>, idx=0, state=1, ip=127.0.0.255, i=0 idx=0, state=1, ip=127.0.0.255, i=0

Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_sess_open, thread=0, da_sess=C010000000200000000, func=sc_sess_open, thread=0, da_sess=C010000000200000000, status=connected, port=-1, addr=lmtpsock status=connected, port=-1, addr=lmtpsock

Page 35: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

35

Sendmail X (Sys) Logging (part 2)Sendmail X (Sys) Logging (part 2)

Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] Oct 4 12:55:26 zorro2 smtps: [ID 197553 mail.info] ss_sess=S000000000000001D00, ss_ta=S000000000000002600, ss_sess=S000000000000001D00, ss_ta=S000000000000002600, msgid=<[email protected]>, size=546, msgid=<[email protected]>, size=546, stat=0 stat=0

Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_rd_reply, Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_rd_reply, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, ss_ta=S000000000000002600, mail=<[email protected]>, stat=0, ss_ta=S000000000000002600, mail=<[email protected]>, stat=0, reply=250 2.5.0 MAIL command succeeded reply=250 2.5.0 MAIL command succeeded

Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_rd_reply, Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_rd_reply, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, ss_ta=S000000000000002600, rcpt=<[email protected]>, ss_ta=S000000000000002600, rcpt=<[email protected]>, stat=0, reply=250 2.1.5 RCPT ok stat=0, reply=250 2.1.5 RCPT ok

Oct 4 12:55:26 zorro2 sendmail[13189]: [ID 801593 mail.info] j942tQPB013189: Oct 4 12:55:26 zorro2 sendmail[13189]: [ID 801593 mail.info] j942tQPB013189: to=root, ctladdr=root (0/1), delay=00:00:00, xdelay=00:00:00, mailer=relay, to=root, ctladdr=root (0/1), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30052, relay=localhost.myfundom.dom. [127.0.0.1], dsn=2.0.0, stat=Sent pri=30052, relay=localhost.myfundom.dom. [127.0.0.1], dsn=2.0.0, stat=Sent (got it id=S000000000000002600) (got it id=S000000000000002600)

Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_data, Oct 4 12:55:26 zorro2 smtpc: [ID 197553 mail.info] sev=INFO, func=sc_data, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, thread=0, da_sess=C010000000200000000, da_ta=C010000000300000000, ss_ta=S000000000000002600, where=final_dot, size=546, stat=0, reply=250 ss_ta=S000000000000002600, where=final_dot, size=546, stat=0, reply=250 2.5.0 command succeeded 2.5.0 command succeeded

Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.debug] func=qda_upd_ta_rcpt_stat, Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.debug] func=qda_upd_ta_rcpt_stat, da_ta=C010000000300000000, stat=0, err_state=0, aqt_rcpts_inaq=1 da_ta=C010000000300000000, stat=0, err_state=0, aqt_rcpts_inaq=1

Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] sev=INFO, func=q_upd_rcpt_ok, rcpt_id=S000000000000002600-000000, func=q_upd_rcpt_ok, rcpt_id=S000000000000002600-000000, rcpt=<[email protected]>, xdelay=0, delay=0 rcpt=<[email protected]>, xdelay=0, delay=0

Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] sev=INFO, Oct 4 12:55:26 zorro2 qmgr: [ID 197553 mail.info] sev=INFO, func=qda_upd_ta_rcpt_stat, ss_ta=S000000000000002600, func=qda_upd_ta_rcpt_stat, ss_ta=S000000000000002600, cdb=S000000000000002600, status=donecdb=S000000000000002600, status=done

Page 36: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

36

Sendmail X - Personal CommentsSendmail X - Personal Comments

Very different from previous versions of Sendmail;Very different from previous versions of Sendmail;

Large leap forward with lot of changes;Large leap forward with lot of changes;

Maybe came too late, considering the market penetration and successes ofMaybe came too late, considering the market penetration and successes ofExim and Postfix especially; HP, for example, currently uses Postfix with Exim and Postfix especially; HP, for example, currently uses Postfix with

two RBLs:two RBLs:MAPS (Mail Abuse Prevention System) – MAPS (Mail Abuse Prevention System) – http://www.mail-abuse.org SpamHaus – SpamHaus – http://www.spamhaus.org

Designed as a secure and efficient mail gateway. The current version does Designed as a secure and efficient mail gateway. The current version does not not

provide mail submission programs: provide mail submission programs: Sendmail 8 mail submission program; Sendmail 8 mail submission program; Msmtp; Msmtp; Esmtp;Esmtp;

Good log file analysers not yet available;Good log file analysers not yet available;

Large source tree (about 3.8 MB gzip-archive versus 1.9 MB for Sendmail Large source tree (about 3.8 MB gzip-archive versus 1.9 MB for Sendmail 8.13.5);8.13.5);

Page 37: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

37

Sendmail X – Personal Comments Sendmail X – Personal Comments (continued)(continued)

No support for: No support for:

MIME conversion (7/8 bit); it will just send 8 bit data (or MIME conversion (7/8 bit); it will just send 8 bit data (or maybe reject delivery based on some configuration option); maybe reject delivery based on some configuration option);

UUCP support (other than external delivery agent). Support UUCP support (other than external delivery agent). Support for other protocols: Bitnet, FIDO, DECNet, (and so on), for other protocols: Bitnet, FIDO, DECNet, (and so on), address parsing/syntax is RFC (2)821/(2)822; address parsing/syntax is RFC (2)821/(2)822;

Dialup systems; Dialup systems; Localization. Localization.

Those features may be added in the future. Those features may be added in the future.

Page 38: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

38

Sendmail X References and Sendmail X References and FeedbackFeedback

Main URL:Main URL:http://www.sendmail.org/sm-X/index.html

All feedback should be sent to:All feedback should be sent to:

[email protected] [email protected]

SMTP surveys:SMTP surveys:http://www.falkotimme.com/projects/survey_smtp_032004.phphttp://www.credentia.cc/research/surveys/smtp/200304/http://cr.yp.to/surveys/sendmail.html

Page 39: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

39

SMTP Survey March 2004 SMTP Survey March 2004 (Copyright 2005, Falko Timme)(Copyright 2005, Falko Timme)

Page 40: © Dusan Baljevic The information contained herein is subject to change without notice Sendmail X Version 10 or X Files? Oct/Nov 2005 Dusan Baljevic - Australia

40