Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "© 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."— Presentation transcript:

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

2 2 Workshop Objectives The purpose of this short seminar is to provide a broad understanding of the various design principles and concepts that exist in Sendmail X. An extensive number of on-line manuals and other references exist that provide a more in-depth look into the topics discussed in this course. 1. Introduce Sendmail X 2. Provide basic installation and configuration tips 3. Questions and Answers

3 3 Why Sendmail X Sendmail is one of the oldest Message Transfer Agents (MTA). It was incepted around 1977, known as “Bill Joy period”, when everything seemed to be happening all at once. Heterogenous networks could not communicate via effectively. The hooks for UUCP mail were done in /bin/mail. The hooks for BerkNet were done in Berkeley Mail and the hooks for Arpanet were different altogether. Sendmail is one of the oldest Message Transfer Agents (MTA). It was incepted around 1977, known as “Bill Joy period”, when everything seemed to be happening all at once. Heterogenous networks could not communicate via effectively. The hooks for UUCP mail were done in /bin/mail. The hooks for BerkNet were done in Berkeley Mail and the hooks for Arpanet were different altogether. Eric Allman worked on Ingres Project at Berkeley and recognised a need to have a common MTA. Initially, he called it delivermail, which was the precursor of sendmail. Eric Allman worked on Ingres Project at Berkeley and recognised a need to have a common MTA. Initially, he called it delivermail, which was the precursor of sendmail. Many versions of Sendmail have been generated in the past. The current open- source version is at release Several excellent competing products emerged in last several years: Exim, Postfix, Smail, Qmail. They have smaller code bases (typically being half the size of Sendmail, or less), do not support the legacy features, and generally had less programming bugs and security threats.

4 4 Sendmail X Main Features Its current version is Beta 4.0. Project leader is Claus Assmann. Sendmail X has a slightly different license than Sendmail 8. It supports the Simple Mail Transfer Protocol (SMTP) as specified by RFC 2821 and various extensions, like STARTTLS, AUTH, PIPELINING, and other protocols (LMTP, for example). It was designed as a secure and efficient mail gateway. It does not provide any mail content modification capabilities like masquerading of addresses or changing (addition, removal) of headers. Later versions will probably add those features.

5 5 Sendmail X Main Features It is a modularized message transfer system consisting of at least five persistent processes, four of which are multi-threaded. A central queue manager (QMGR) controls SMTP servers (SMTPS) and SMTP clients (SMTPC) to receive and send messages, an address resolver (SMAR) provides lookups in various maps including DNS for mail routing, and a main control program (MCP) starts the others processes and monitors them. The queue manager organizes the flow of messages through the system and provides measures to avoid overloading the local or remote systems by implementing a central control instance.

6 6 Sendmail X – Key Principles RobustnessFlexibilityScalabilityExtendabilityMaintainabilityPortability Automated Testing Backward Compatibility (as much as possible) It has three queues on disk ("persistent" queues): IBDB: incoming envelope information DEFEDB: deferred envelope information CDB: content database IBDB: incoming envelope information DEFEDB: deferred envelope information CDB: content database The first two are exclusively handled by QMGR, the third one is written by SMTPS, read by SMTPC, and entries are removed by QMGR.

7 7 Building Sendmail X The configuration file is generated by GNU autoconf. The simplest method to build it in the source tree (only use a privileged account if it is really required, but most of the programs refuse to run with root privileges):./configure make make check Other options: -enable-TLS -enable-SASL -with-sasl-libdir=path -with-sasl-incdir=path -disable-included-bdb -with-bdb-libdir=path -with-bdb-incdir=path -enable-pmilter

8 8 Sendmail X - RFCs RFC 974Mail Routing and the Domain System RFC 1123Internet Host Requirements RFC 1652SMTP 8BITMIME Extension RFC 1869SMTP Service Extensions RFC 1870SMTP SIZE Extensio RFC 1891SMTP Delivery Status Notifications RFC 1892The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages RFC 1893Enhanced Mail System Status Codes RFC 1894Delivery Status Notifications RFC 1985SMTP Service Extension for Remote Message Queue Starting RFC 2033Local Mail Transfer Protocol RFC 2034SMTP Service Extension for Returning Enhanced Error Codes RFC 2045Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies RFC 2476Message Submission RFC 2487SMTP Service Extension for Secure SMTP over TLS RFC 2554SMTP Service Extension for Authentication RFC 2822Internet Message Format RFC 2852Deliver By SMTP Service Extension RFC 2920SMTP Service Extension for Command Pipelining

9 9 Installing Sendmail X Unix accounts to provide separation of privileges and to enhance security: smxs:*:260:260:Sendmail X SMTPS:/nonexistent:/sbin/nologin smxq:*:261:261:Sendmail X QMGR:/nonexistent:/sbin/nologin smxc:*:262:262:Sendmail X SMTPC:/nonexistent:/sbin/nologin smxm:*:263:263:Sendmail X misc:/nonexistent:/sbin/nologin smx:*:264:264:Sendmail X other:/nonexistent:/sbin/nologin Corresponding Unix groups: smxs:*:260:smxq:*:261:smxc:*:262:smxssmxm:*:263:smxs,smxqsmx:*:264: To check whether the required users and groups exist, run./misc/sm.check.sh -p (in the build directory)

10 10 Sendmail X Block Diagram (Copyright Claus Assmann)

11 11 Sendmail X Directory Structure A shell script to setup the directories, files is available in misc/sm.setup.sh. It is is invoked when make install is run. Majority of default values in the installation script can be overridden through environment variables (defaults are listed in square brackets): SMXCONFDIR: [/etc/smx] configuration directory SMXQDIR: [/var/spool/smx] queue directory; communication sockets are created in this directory by default SMXLOGDIR: [.] logging directory (relative to SMXQDIR). If logging is done via syslog(3) then this directory is not used SMXS [smxs] SMTP Server user and group SMXC [smxc] SMTP Client user and group SMXQ [smxq] QMGR user and group SMXM [smxm] address resolver (misc) user and group SMX [smx] generic (configuration) user and group SMXLG group for log files; the install program tries operator, sysadmin, and root

12 12 Sendmail X Directory and File Permissions The CDB directories (0-9, A-F) must be owned by smxs and have group smxq with the permissions 0771: drwxrwx--x 2 smxs smxq 0/ The main (DEFEDB) and incoming queues (IBDB) must belong to smxq and should not accessible by anyone else: drwx smxq smxq defedb/ drwx smxq smxq ibdb/ drwx smxq smxq ibdb/ibdb/ Mailertable, aliases map, and other maps for SMAR should belong to smxm and can be readable as local conventions require: -rw-r--r-- 1 smxm smxm mt -rw-r--r-- 1 smxm smxm aliases.db In general, maps should be owned by the user id of the program that uses them.

13 13 Sendmail X Directory and File Permissions (continued) The sendmail X configuration file smx.conf can belong to root or the generic Sendmail X user. The directories in which the communication sockets between QMGR and the other programs are located must belong to smxq and be group accessible for the corresponding program: drwxrws--- 2 smxq smxm qmsmar/ drwxrws--- 2 smxq smxc qmsmtpc/ drwxrws--- 2 smxq smxs qmsmtps/ The directory in which the communication socket between MCP and SMTPS is located must belong to smxs: drwxr-x--- 2 smxs smxs smtps/ The log files must be owned by the corresponding user and may have relaxed group (or even world) read permissions: -rw-r smxq operator qmgr.log -rw-r smxm operator smar.log -rw-r smxc operator smtpc.log -rw-r smxs operator smtps.log

14 14 Sendmail X smx.conf (part 1) CDB_base_directory = “/var/spool/smx"; # activate this for local delivery using procmail and LMTP lmtp { listen_socket { type=unix; path = lmtpsock; umask = 007; user = root; group = smxc; } start_action = nostartaccept; min_processes = 1; max_processes = 8; user = root; path = /usr/bin/procmail; arguments = "procmail -z+"; }

15 15 Sendmail X smx.conf (part 2) smtps { log_level = 11; log { facility=mail; ident="smtps"; } CDB_gid = 262; wait_for_server = 4; listen_socket { type=inet; port = 25; } start_action = pass; pass_fd_socket = smtps/smtpsfd; user = smxs; path = "/usr/local/libexec/smtps"; arguments = "smtps -f /etc/smx/smx.conf"; }

16 16 Sendmail X smx.conf (part 3) smtpc { log_level = 11; log { facility=mail; ident="smtpc"; } wait_for_server = 4; start_action = wait; user = smxc; path = "/usr/local/libexec/smtpc"; arguments = "smtpc -f /etc/smx/smx.conf"; }

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

18 18 Sendmail X Mailertable Routing This file must exist, even if there are no entries. localhost lmtp: zorro2.myfundom.domlmtp: zorro2lmtp: loghostlmtp: island.myfundom.domlmtp: localhost.myfundom.domlmtp: mydomain.comsmtp:[ ]:[ ] anotherdomain.net.auesmtp:antivirus.srv.net.au myrealdom.domesmtp:pathetic.myfundom.dom.esmtp:smart-relay.myfundom.dom

19 19 Sendmail X Aliases Berkeley DB hash map aliases.db is used. postmaster: dbaljevi root:dbaljevi dbaljevi:local: adm:local:

20 20 Sendmail X Access List (part 1) cltresolve:tempptr error: reverse lookup failed mxbadip: error: Bad IP address in MX/A list mxbadip: error: No spammers error: No spammers in subdomains either to:root error: No mail to root to:abusequick:ok cltaddr:10 error: No direct mail from 10.x.y.z cltname:spammer.doman quick:error: No mail from spammers cltaddr:10relay cltaddr: quick:relay

21 21 Sendmail X Access List (part 2) Try primary MX server protectedrcpt:mail-list3from: cltaddr: cltaddr:10

22 22 Sendmail X Access List (art 2) Sendmail X Access List (part 2) Tags from:envelope sender address (MAIL) to:envelope recipient address (RCPT) cltaddr:client IPv4 address cltname:client host name cltresolve:result of forward and reverse client lookup mxbadip:IPv4 addresses that are not allowed for MX - A records certissuer:DN of CA cert that signed that presented cert certsubject:DN of presented cert protectedrcpt:restrictions for recipient address

23 23 Sendmail X SMAR Maps type: type of the map; currently one of hash (Berkeley DB hash), sequence, socket, and passwd. type: type of the map; currently one of hash (Berkeley DB hash), sequence, socket, and passwd. file: the filename of the DB file (including the extension) (for type hash). file: the filename of the DB file (including the extension) (for type hash). mapname: name of the map used in the protocol (type socket only). mapname: name of the map used in the protocol (type socket 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: map localusers { type = hash; file = "/etc/smx/localusers.db"; } map otherusers { type = hash; file = "/etc/smx/otherusers.db"; } map password { type = passwd; } map seq1 { type = sequence; maps = { localusers, otherusers }; } map seq2 { type = sequence; maps = { password, otherusers }; }

24 24 Sendmail X DNS Lookups in Blacklists smar { dnsbl { domain = rbl-plus.mail-abuse.org; tag = dnsblmain; } } smar { dnsbl { domain = dnsbl.njabl.org; tag = dnsbldue; } } smar { dnsbl { domain = bl.spamcop.net; tag = dnsbltre; } } smar { dnsbl { domain = dnsbl.sorbs.net; tag = dnsblqua; } } dnsblmain: error: Listed at rbl-plus.mail-abuse.org as open relay dnsbltdue: error: Listed at dnsbl.njabl.org as spam source dnsbltre: error: Listed at bl.spamcop.net as possible spammer dnsblqua:temp error: Temporary lookup failure at dnsbl.sorbs.net If multiple RBLs are specified, the DNS queries are initiated at the same time. Note that the lookups in the access map are performed in the order in which the blacklists are given; the first successful lookup is used as result, no further queries are performed.

25 25 Sendmail X Greylisting (part 1) Supports a very simple form of greylisting. Uses the client IP address as key instead of a tuple consisting of client IP address, envelope sender, and envelope recipient. Design goal was: do not accept mail from an unknown source on the first connection, 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. An IP address can be in three different states: unknown: the client has not connected before or the entry is expired from the database, greylisted: the client has connected before but it did not yet connect again within the configured time interval, whitelisted: the client has connected before and it connected again within the configured time interval. Greylisting is performed at the RCPT stage of the SMTP dialogue. It is only done when a valid recipient is specified - all other checks must have been successful. Clients that do not try to send mail or just try invalid recipient addresses will not be added to the greylisting database.

26 26 Sendmail X Greylisting (part 2) Greylisting can be disabled for selected hosts by adding them to the access map: cltaddr:10.15 relay cltaddr: relay cltaddr: quick:relay Some mailers do not behave properly and will not retry a mail that had a temporary error. This can cause mail loss in various situations like when the receiving system is currently out of some resources. To minimize the impact: cltaddr: ok cltaddr: ok A list of broken mailers can be found at: A related problem are server farms where a mail could be sent from a different IP address each time, or if a client authenticates via STARTTLS or AUTH.

27 27 Sendmail X Startup (part 1) /etc/rc2.d/S88smx#!/bin/sh # start sendmail X via MCP MCPPID=mcp.pidMCPOUT=mcp.outstart_mcp(){ /usr/local/sbin/mcp -l -p ${MCPPID} /etc/smx/smx.conf > ${MCPOUT} 2>&1 & }stop_mcp(){ if test -s ${MCPPID}; then kill `head -1 ${MCPPID}` else echo "$0: pid file ${MCPPID} does not exist or is empty“ fi}

28 28 Sendmail X Start (part 2) if cd "/var/spool/smx"; then :else echo "$0: cd /var/spool/smx failed" exit 1 fi case "$1" in 'start') start_mcp ;; 'stop') stop_mcp ;; 'restart') stop_mcp start_mcp ;; *) echo "Usage: $0 { start | stop | restart }" exit 1 ;; exit 1 ;;esac exit 0

29 29 Sendmail X Misc (part 1) Strict RFC Compliance The SMTP server currently enforces fairly strict RFC 2821 compliance. For example, a MAIL command must be given in the following format MAIL The angle brackets are required, there must be no space after ":", etc. This has the useful side effect of catching some spam programs: Syntax error., input=MAIL FROM: Syntax error., input=MAIL FROM: 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). MX records must point to hostnames, not IP addresses. This applies to receiving mail - a MAIL address using a domain whose MX record points to an IP address will be rejected ( Sender address does not exist) - as well as to sending mail – a RCPT address with a domain whose MX record points to an IP address is not resolved by SMAR.

30 30 Sendmail X Misc (part 2) root Oct 12 pts/25 0:00 /usr/local/sbin/mcp -l –p mcp.pid /etc/smx/smx.conf smxs Oct 12 ? 0:00 smtps -f /etc/smx/smx.conf smxm Oct 12 ? 0:00 smar -f /etc/smx/smx.conf smxc Oct 23 ? 0:00 smtpc -f /etc/smx/smx.conf smxq 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. Address Masquerading: The best way to use the correct addresses is to properly configure your MUA. Some MUAs offer more flexibility for this than the default masquerading features of sendmail 8. Alternatively a mail submission program (MSP) can be used which offers address rewriting capabilities (example, MSP from sendmail 8). Address Masquerading: The best way to use the correct addresses is to properly configure your MUA. Some MUAs offer more flexibility for this than the default masquerading features of sendmail 8. Alternatively a mail submission program (MSP) can be used which offers address rewriting capabilities (example, MSP from sendmail 8)..forward: procmail can be used as LDA and its configuration file.procmailrc allows to implement the same functionality as a.forward from sendmail 8 and some other MTAs..forward: procmail can be used as LDA and its configuration file.procmailrc allows to implement the same functionality as 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.

31 31 Sendmail X Makefile for Maps (part 1) # Makefile to create smX maps MM=/usr/local/bin/createmap all: aliases.db access.db qmgr_conf. mailertable.db aliases.db:aliases -test -f aliases.db && mv aliases.db aliases.db- -test -f aliases.db && mv aliases.db aliases.db- ${MM}

32 32 Sendmail X Makefile for Maps (part 2) mailertable.db:mailertable -test -f mailertable.db && mv mailertable.db mailertable.db- -test -f mailertable.db && mv mailertable.db mailertable.db- ${MM} -w -F mailertable.db < mailertable ${MM} -w -F mailertable.db < mailertable chown smxm mailertable.db chown smxm mailertable.db chmod 664 mailertable.db chmod 664 mailertable.db echo "kill -USR1 smar" echo "kill -USR1 smar"qmgr_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.db chown smxq qmgr_conf.db chmod 664 qmgr_conf.db chmod 664 qmgr_conf.db echo "kill -USR1 qmgr" echo "kill -USR1 qmgr"

33 33 Sendmail X Typical Message with Headers From Mon Oct 10 10:40: Return-Path: Return-Path: Received: from island.myfundom.dom (Hostname_Not_Determined [ ] by island.myfundom.dom (sendmail X.0.0.Beta4.0) with ESMTP by island.myfundom.dom (sendmail X.0.0.Beta4.0) with ESMTP id S ; Mon, 10 Oct :40: id S ; Mon, 10 Oct :40: Received: (from by island.myfundom.dom ( Sun/8.12.5/Submit) id j9A0em5S by island.myfundom.dom ( Sun/8.12.5/Submit) id j9A0em5S for dbaljevi; Mon, 10 Oct :40: (EST) for dbaljevi; Mon, 10 Oct :40: (EST) Date: Mon, 10 Oct :40: (EST) From: Super-User From: Super-User Message-Id: Message-Id: To: Subject: basic test

34 34 Sendmail X (Sys)Logging (part 1) Oct 4 12:55:26 zorro2 sendmail[13189]: [ID mail.info] j942tQPB013189: from=root, size=52, class=0, nrcpts=1, msgid=, Oct 4 12:55:26 zorro2 smtps: [ID mail.info] sev=INFO, func=ss_hdl_session, ss_sess=S D00, client_ipv4= , client_name=Hostname_Not_Determined Oct 4 12:55:26 zorro2 smar: [ID mail.info] sev=INFO, func=smar_rcpt_rslv, status=resolved, pa=, mailer=lmtp_unix Oct 4 12:55:26 zorro2 smtps: [ID mail.info] ss_sess=S D00, ss_ta=S , mail=, stat=0 Oct 4 12:55:26 zorro2 smtps: [ID mail.info] sev=INFO, func=ss_rcpt, ss_sess=S D00, ss_ta=S , rcpt=, idx=0, stat=0 Oct 4 12:55:26 zorro2 smar: [ID mail.info] sev=INFO, func=smar_rcpt_rslv, status=resolved, pa=, mailer=lmtp_unix Oct 4 12:55:26 zorro2 qmgr: [ID mail.info] func=qm_ibdb_commit, ss_ta=S , status=accepted Oct 4 12:55:26 zorro2 qmgr: [ID mail.info] func=qmgr_sched_dlvry, ss_ta=S , da_sess=C , da_ta=C , rcpt=, idx=0, state=1, ip= , i=0 Oct 4 12:55:26 zorro2 smtpc: [ID mail.info] sev=INFO, func=sc_sess_open, thread=0, da_sess=C , status=connected, port=-1, addr=lmtpsock

35 35 Sendmail X (Sys) Logging (part 2) Oct 4 12:55:26 zorro2 smtps: [ID mail.info] ss_sess=S D00, ss_ta=S , msgid=, size=546, stat=0 Oct 4 12:55:26 zorro2 smtpc: [ID mail.info] sev=INFO, func=sc_rd_reply, thread=0, da_sess=C , da_ta=C , ss_ta=S , mail=, stat=0, reply= MAIL command succeeded Oct 4 12:55:26 zorro2 smtpc: [ID mail.info] sev=INFO, func=sc_rd_reply, thread=0, da_sess=C , da_ta=C , ss_ta=S , rcpt=, stat=0, reply= RCPT ok Oct 4 12:55:26 zorro2 sendmail[13189]: [ID mail.info] j942tQPB013189: to=root, ctladdr=root (0/1), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30052, relay=localhost.myfundom.dom. [ ], dsn=2.0.0, stat=Sent (got it id=S ) Oct 4 12:55:26 zorro2 smtpc: [ID mail.info] sev=INFO, func=sc_data, thread=0, da_sess=C , da_ta=C , ss_ta=S , where=final_dot, size=546, stat=0, reply= command succeeded Oct 4 12:55:26 zorro2 qmgr: [ID mail.debug] func=qda_upd_ta_rcpt_stat, da_ta=C , stat=0, err_state=0, aqt_rcpts_inaq=1 Oct 4 12:55:26 zorro2 qmgr: [ID mail.info] sev=INFO, func=q_upd_rcpt_ok, rcpt_id=S , rcpt=, xdelay=0, delay=0 Oct 4 12:55:26 zorro2 qmgr: [ID mail.info] sev=INFO, func=qda_upd_ta_rcpt_stat, ss_ta=S , cdb=S , status=done

36 36 Sendmail X - Personal Comments Very different from previous versions of Sendmail; Large leap forward with lot of changes; Maybe came too late, considering the market penetration and successes of Exim and Postfix especially; HP, for example, currently uses Postfix with two RBLs: MAPS (Mail Abuse Prevention System) – SpamHaus – Designed as a secure and efficient mail gateway. The current version does not 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; Large source tree (about 3.8 MB gzip-archive versus 1.9 MB for Sendmail );

37 37 Sendmail X – Personal Comments (continued) No support for: MIME conversion (7/8 bit); it will just send 8 bit data (or maybe reject delivery based on some configuration option); MIME conversion (7/8 bit); it will just send 8 bit data (or maybe reject delivery based on some configuration option); UUCP support (other than external delivery agent). Support for other protocols: Bitnet, FIDO, DECNet, (and so on), address parsing/syntax is RFC (2)821/(2)822; UUCP support (other than external delivery agent). Support for other protocols: Bitnet, FIDO, DECNet, (and so on), address parsing/syntax is RFC (2)821/(2)822; Dialup systems; Dialup systems; Localization. Localization. Those features may be added in the future.

38 38 Sendmail X References and Feedback Main URL: All feedback should be sent to: SMTP surveys:

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

40 40


Download ppt "© 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."

Similar presentations


Ads by Google