README revision 80785
138032Speter 238032Speter SENDMAIL RELEASE 8 338032Speter 438032SpeterThis directory has the latest sendmail(TM) software from Sendmail, Inc. 538032Speter 638032SpeterReport any bugs to sendmail-bugs@sendmail.ORG 738032Speter 864562SgshapiroThere is a web site at http://WWW.Sendmail.ORG/ -- see that site for 938032Speterthe latest updates. 1038032Speter 1164562Sgshapiro+--------------+ 1264562Sgshapiro| INTRODUCTION | 1364562Sgshapiro+--------------+ 1438032Speter 1564562Sgshapiro0. The vast majority of queries to <sendmail-questions@sendmail.org> 1664562Sgshapiro are answered in the README files noted below. 1764562Sgshapiro 1864562Sgshapiro1. Read this README file, especially this introduction, and the DIRECTORY 1964562Sgshapiro PERMISSIONS sections. 2064562Sgshapiro 2180785Sgshapiro2. Read the INSTALL file in this directory. 2280785Sgshapiro 2380785Sgshapiro3. Read sendmail/README, especially: 2464562Sgshapiro a. the introduction 2564562Sgshapiro b. the BUILDING SENDMAIL section 2664562Sgshapiro c. the relevant part(s) of the OPERATING SYSTEM AND COMPILE QUIRKS section 2764562Sgshapiro 2864562Sgshapiro You may also find these useful: 2964562Sgshapiro 3064562Sgshapiro d. devtools/README 3164562Sgshapiro e. devtools/Site/README 3280785Sgshapiro f. mail.local/README 3380785Sgshapiro g. smrsh/README 3464562Sgshapiro 3580785Sgshapiro4. Read cf/README. 3664562Sgshapiro 3738032SpeterSendmail is a trademark of Sendmail, Inc. 3838032Speter 3938032Speter+-----------------------+ 4038032Speter| DIRECTORY PERMISSIONS | 4138032Speter+-----------------------+ 4238032Speter 4338032SpeterSendmail often gets blamed for many problems that are actually the 4438032Speterresult of other problems, such as overly permissive modes on directories. 4538032SpeterFor this reason, sendmail checks the modes on system directories and 4664562Sgshapirofiles to determine if they can be trusted. For sendmail to run without 4764562Sgshapirocomplaining, you MUST execute the following command: 4838032Speter 4938032Speter chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 5038032Speter chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 5138032Speter 5238032SpeterYou will probably have to tweak this for your environment (for example, 5338032Spetersome systems put the spool directory into /usr/spool instead of 5464562Sgshapiro/var/spool). If you set the RunAsUser option in your sendmail.cf, the 5564562Sgshapiro/var/spool/mqueue directory will have to be owned by the RunAsUser user. 5664562SgshapiroAs a general rule, after you have compiled sendmail, run the command 5738032Speter 5838032Speter sendmail -v -bi 5938032Speter 6038032Speterto initialize the alias database. If it gives messages such as 6138032Speter 6238032Speter WARNING: writable directory /etc 6364562Sgshapiro WARNING: writable directory /var/spool/mqueue 6438032Speter 6538032Speterthen the directories listed have inappropriate write permissions and 6638032Spetershould be secured to avoid various possible security attacks. 6738032Speter 6838032SpeterBeginning with sendmail 8.9, these checks have become more strict to 6938032Speterprevent users from being able to access files they would normally not 7038032Speterbe able to read. In particular, .forward and :include: files in unsafe 7138032Speterdirectory paths (directory paths which are group or world writable) will 7238032Speterno longer be allowed. This would mean that if user joe's home directory 7338032Speterwas writable by group staff, sendmail would not use his .forward file. 7438032SpeterThis behavior can be altered, at the expense of system security, by 7538032Spetersetting the DontBlameSendmail option. For example, to allow .forward 7638032Speterfiles in group writable directories: 7738032Speter 7838032Speter O DontBlameSendmail=forwardfileingroupwritabledirpath 7938032Speter 8038032SpeterOr to allow them in both group and world writable directories: 8138032Speter 8238032Speter O DontBlameSendmail=forwardfileinunsafedirpath 8338032Speter 8438032SpeterItems from these unsafe .forward and :include: files will be marked 8538032Speteras unsafe addresses -- the items can not be deliveries to files or 8638032Speterprograms. This behavior can also be altered via DontBlameSendmail: 8738032Speter 8838032Speter O DontBlameSendmail=forwardfileinunsafedirpath, 8938032Speter forwardfileinunsafedirpathsafe 9038032Speter 9138032SpeterThe first flag allows the .forward file to be read, the second allows 9238032Speterthe items in the file to be marked as safe for file and program 9338032Speterdelivery. 9438032Speter 9538032SpeterOther files affected by this strengthened security include class 9664562Sgshapirofiles (i.e. Fw /etc/mail/local-host-names), persistent host status files, 9764562Sgshapiroand the files specified by the ErrorHeader and HelpFile options. Similar 9838032SpeterDontBlameSendmail flags are available for the class, ErrorHeader, and 9938032SpeterHelpFile files. 10038032Speter 10138032SpeterIf you have an unsafe configuration of .forward and :include: 10238032Speterfiles, you can make it safe by finding all such files, and doing 10338032Spetera "chmod go-w $FILE" on each. Also, do a "chmod go-w $DIR" for 10438032Spetereach directory in the file's path. 10538032Speter 10638032Speter 10738032Speter+-----------------------+ 10838032Speter| RELATED DOCUMENTATION | 10938032Speter+-----------------------+ 11038032Speter 11138032SpeterThere are other files you should read. Rooted in this directory are: 11238032Speter 11338032Speter FAQ 11480785Sgshapiro The FAQ (frequently answered questions) is no longer maintained 11580785Sgshapiro with the sendmail release. It is available at 11680785Sgshapiro http://www.sendmail.org/faq/ . The file FAQ is a reminder of 11780785Sgshapiro this and a pointer to the web page. 11864562Sgshapiro INSTALL 11964562Sgshapiro Installation instructions for building and installing sendmail. 12038032Speter KNOWNBUGS 12164562Sgshapiro Known bugs in the current release. 12238032Speter RELEASE_NOTES 12338032Speter A detailed description of the changes in each version. This 12438032Speter is quite long, but informative. 12564562Sgshapiro sendmail/README 12638032Speter Details on compiling and installing sendmail. 12738032Speter cf/README 12838032Speter Details on configuring sendmail. 12938032Speter doc/op/op.me 13038032Speter The sendmail Installation & Operations Guide. Be warned: if 13138032Speter you are running this off on SunOS or some other system with an 13238032Speter old version of -me, you need to add the following macro to the 13338032Speter macros: 13438032Speter 13538032Speter .de sm 13638032Speter \s-1\\$1\\s0\\$2 13738032Speter .. 13838032Speter 13938032Speter This sets a word in a smaller pointsize. 14038032Speter 14138032Speter 14238032Speter+--------------+ 14338032Speter| RELATED RFCS | 14438032Speter+--------------+ 14538032Speter 14638032SpeterThere are several related RFCs that you may wish to read -- they are 14764562Sgshapiroavailable via anonymous FTP to several sites. For a list of the 14864562Sgshapiroprimary repositories see: 14938032Speter 15038032Speter http://www.isi.edu/in-notes/rfc-retrieval.txt 15138032Speter 15238032SpeterThey are also online at: 15338032Speter 15438032Speter http://www.ietf.org/ 15538032Speter 15638032SpeterThey can also be retrieved via electronic mail by sending 15738032Speteremail to one of: 15838032Speter 15938032Speter mail-server@nisc.sri.com 16038032Speter Put "send rfcNNN" in message body 16138032Speter nis-info@nis.nsf.net 16238032Speter Put "send RFCnnn.TXT-1" in message body 16338032Speter sendrfc@jvnc.net 16438032Speter Put "RFCnnn" as Subject: line 16538032Speter 16638032SpeterFor further instructions see: 16738032Speter 16838032Speter http://www.isi.edu/in-notes/rfc-editor/rfc-info 16938032Speter 17038032SpeterImportant RFCs for electronic mail are: 17138032Speter 17238032Speter RFC821 SMTP protocol 17338032Speter RFC822 Mail header format 17438032Speter RFC974 MX routing 17538032Speter RFC976 UUCP mail format 17638032Speter RFC1123 Host requirements (modifies 821, 822, and 974) 17738032Speter RFC1413 Identification server 17838032Speter RFC1869 SMTP Service Extensions (ESMTP spec) 17938032Speter RFC1652 SMTP Service Extension for 8bit-MIMEtransport 18038032Speter RFC1870 SMTP Service Extension for Message Size Declaration 18138032Speter RFC2045 Multipurpose Internet Mail Extensions (MIME) Part One: 18238032Speter Format of Internet Message Bodies 18338032Speter RFC1344 Implications of MIME for Internet Mail Gateways 18438032Speter RFC1428 Transition of Internet Mail from Just-Send-8 to 18538032Speter 8-bit SMTP/MIME 18638032Speter RFC1891 SMTP Service Extension for Delivery Status Notifications 18738032Speter RFC1892 Multipart/Report Content Type for the Reporting of 18838032Speter Mail System Administrative Messages 18938032Speter RFC1893 Enhanced Mail System Status Codes 19038032Speter RFC1894 An Extensible Message Format for Delivery Status 19138032Speter Notifications 19238032Speter RFC1985 SMTP Service Extension for Remote Message Queue Starting 19364562Sgshapiro RFC2033 Local Mail Transfer Protocol (LMTP) 19464562Sgshapiro RFC2034 SMTP Service Extension for Returning Enhanced Error Codes 19564562Sgshapiro RFC2476 Message Submission 19664562Sgshapiro RFC2487 SMTP Service Extension for Secure SMTP over TLS 19764562Sgshapiro RFC2554 SMTP Service Extension for Authentication 19838032Speter 19938032SpeterOther standards that may be of interest (but which are less directly 20038032Speterrelevant to sendmail) are: 20138032Speter 20238032Speter RFC987 Mapping between RFC822 and X.400 20338032Speter RFC1049 Content-Type header field (extension to RFC822) 20438032Speter 20538032SpeterWarning to AIX users: this version of sendmail does not implement 20638032SpeterMB, MR, or MG DNS resource records, as defined (as experiments) in 20738032SpeterRFC1035. 20838032Speter 20938032Speter 21064562Sgshapiro+---------+ 21164562Sgshapiro| WARNING | 21264562Sgshapiro+---------+ 21364562Sgshapiro 21464562SgshapiroSince sendmail 8.11 and later includes hooks to cryptography, the 21564562Sgshapirofollowing information from OpenSSL applies to sendmail as well. 21664562Sgshapiro 21764562SgshapiroPLEASE REMEMBER THAT EXPORT/IMPORT AND/OR USE OF STRONG CRYPTOGRAPHY 21864562SgshapiroSOFTWARE, PROVIDING CRYPTOGRAPHY HOOKS OR EVEN JUST COMMUNICATING 21964562SgshapiroTECHNICAL DETAILS ABOUT CRYPTOGRAPHY SOFTWARE IS ILLEGAL IN SOME 22064562SgshapiroPARTS OF THE WORLD. SO, WHEN YOU IMPORT THIS PACKAGE TO YOUR 22164562SgshapiroCOUNTRY, RE-DISTRIBUTE IT FROM THERE OR EVEN JUST EMAIL TECHNICAL 22264562SgshapiroSUGGESTIONS OR EVEN SOURCE PATCHES TO THE AUTHOR OR OTHER PEOPLE 22364562SgshapiroYOU ARE STRONGLY ADVISED TO PAY CLOSE ATTENTION TO ANY EXPORT/IMPORT 22464562SgshapiroAND/OR USE LAWS WHICH APPLY TO YOU. THE AUTHORS ARE NOT LIABLE FOR 22564562SgshapiroANY VIOLATIONS YOU MAKE HERE. SO BE CAREFUL, IT IS YOUR RESPONSIBILITY. 22664562Sgshapiro 22764562SgshapiroIf you use OpenSSL then make sure you read their README file which 22864562Sgshapirocontains information about patents etc. 22964562Sgshapiro 23064562Sgshapiro 23138032Speter+-------------------+ 23238032Speter| DATABASE ROUTINES | 23338032Speter+-------------------+ 23438032Speter 23538032SpeterIF YOU WANT TO RUN THE NEW BERKELEY DB SOFTWARE: **** DO NOT **** 23638032Speteruse the version that was on the Net2 tape -- it has a number of 23738032Speternefarious bugs that were bad enough when I got them; you shouldn't have 23838032Speterto go through the same thing. Instead, get a new version via the web at 23938032Speterhttp://www.sleepycat.com/. This software is highly recommended; it gets 24038032Speterrid of several stupid limits, it's much faster, and the interface is 24138032Speternicer to animals and plants. If the Berkeley DB include files 24238032Speterare installed in a location other than those which your compiler searches, 24338032Speteryou will need to provide that directory when building: 24438032Speter 24538032Speter Build -I/path/to/include/directory 24638032Speter 24738032SpeterIf you are using Berkeley DB versions 1.85 or 1.86, you are *strongly* 24864562Sgshapirourged to upgrade to DB version 2 or later, available from 24964562Sgshapirohttp://www.sleepycat.com/. Berkeley DB versions 1.85 and 1.86 are known to 25064562Sgshapirobe broken in various nasty ways (see http://www.sleepycat.com/db.185.html), 25164562Sgshapiroand can cause sendmail to dump core. In addition, the newest versions of 25264562Sgshapirogcc and the Solaris compilers perform optimizations in those versions that 25364562Sgshapiromay cause fairly random core dumps. 25438032Speter 25538032SpeterIf you have no choice but to use Berkeley DB 1.85 or 1.86, and you are 25638032Speterusing both Berkeley DB and files in the UNIX ndbm format, remove ndbm.h 25738032Speterand ndbm.o from the DB library after building it. You should also apply 25838032Speterall of the patches for DB 1.85 and 1.86 found at the Sleepycat web site 25938032Speter(see http://www.sleepycat.com/db.185.html), as they fix some of the known 26038032Speterproblems. 26138032Speter 26238032SpeterIf you are using a version of Berkeley DB 2 previous to 2.3.15, and you 26338032Speterare using both Berkeley DB and files in the UNIX ndbm format, remove dbm.o 26438032Speterfrom the DB library after building it. No other changes are necessary. 26538032Speter 26638032SpeterIf you are using Berkeley DB version 2.3.15 or greater, no changes are 26738032Speternecessary. 26838032Speter 26938032SpeterThe underlying database file formats changed between Berkeley DB versions 27064562Sgshapiro1.85 and 1.86, again between DB 1.86 and version 2.0, and finally between 27164562SgshapiroDB 2.X and 3.X. If you are upgrading from one of those versions, you must 27264562Sgshapirorecreate your database file(s). Do this by rebuilding all maps with 27364562Sgshapiromakemap and rebuilding the alias file with newaliases. 27438032Speter 27538032Speter 27638032Speter+--------------------+ 27738032Speter| HOST NAME SERVICES | 27838032Speter+--------------------+ 27938032Speter 28038032SpeterIf you are using NIS or /etc/hosts, it is critical that you 28138032Speterlist the long (fully qualified) name somewhere (preferably first) in 28238032Speterthe /etc/hosts file used to build the NIS database. For example, the 28338032Speterline should read 28438032Speter 28538032Speter 128.32.149.68 mastodon.CS.Berkeley.EDU mastodon 28638032Speter 28738032Speter**** NOT **** 28838032Speter 28938032Speter 128.32.149.68 mastodon 29038032Speter 29138032SpeterIf you do not include the long name, sendmail will complain loudly 29238032Speterabout ``unable to qualify my own domain name (mastodon) -- using 29338032Spetershort name'' and conclude that your canonical name is the short 29438032Speterversion and use that in messages. The name "mastodon" doesn't mean 29538032Spetermuch outside of Berkeley, and so this creates incorrect and unreplyable 29638032Spetermessages. 29738032Speter 29838032Speter 29938032Speter+-------------+ 30038032Speter| USE WITH MH | 30138032Speter+-------------+ 30238032Speter 30338032SpeterThis version of sendmail notices and reports certain kinds of SMTP 30438032Speterprotocol violations that were ignored by older versions. If you 30538032Speterare running MH you may wish to install the patch in contrib/mh.patch 30638032Speterthat will prevent these warning reports. This patch also works 30738032Speterwith the old version of sendmail, so it's safe to go ahead and 30838032Speterinstall it. 30938032Speter 31038032Speter 31138032Speter+----------------+ 31238032Speter| USE WITH IDENT | 31338032Speter+----------------+ 31438032Speter 31538032SpeterSendmail 8 supports the IDENT protocol, as defined by RFC 1413. 31664562SgshapiroNote that the RFC states a client should wait at least 30 seconds 31764562Sgshapirofor a response. As of 8.10.0, the default Timeout.ident is 5 seconds 31864562Sgshapiroas many sites have adopted the practice of dropping IDENT queries. 31964562SgshapiroThis has lead to delays processing mail. 32038032Speter 32164562SgshapiroNo ident server is included with this distribution. It is available 32264562Sgshapirofrom: 32338032Speter 32464562Sgshapiro ftp://ftp.lysator.liu.se/pub/ident/servers/ 32564562Sgshapiro http://sf.www.lysator.liu.se/~pen/pidentd/ 32638032Speter 32743730Speter+-------------------------+ 32843730Speter| INTEROPERATION PROBLEMS | 32943730Speter+-------------------------+ 33043730Speter 33143730SpeterMicrosoft Exchange Server 5.0 33243730Speter We have had a report that ``about 7% of messages from Sendmail 33343730Speter to Exchange were not being delivered with status messages of 33443730Speter "connection reset" and "I/O error".'' Upgrading Exchange from 33543730Speter Version 5.0 to Version 5.5 Service Pack 2 solved this problem. 33643730Speter 33764562SgshapiroCommuniGate Pro 33864562Sgshapiro CommuniGate Pro 3.2.4 does not accept the AUTH= -parameter on 33964562Sgshapiro the MAIL FROM command if the client is not authenticated. Use 34043730Speter 34164562Sgshapiro define(`confAUTH_OPTIONS', `A') 34264562Sgshapiro 34364562Sgshapiro in .mc file if you have compiled sendmail with Cyrus SASL 34464562Sgshapiro and you communicate with CommuniGate Pro servers. 34564562Sgshapiro 34638032Speter+---------------------+ 34738032Speter| DIRECTORY STRUCTURE | 34838032Speter+---------------------+ 34938032Speter 35038032SpeterThe structure of this directory tree is: 35138032Speter 35238032Spetercf Source for sendmail configuration files. These are 35338032Speter different than what you've seen before. They are a 35438032Speter fairly dramatic rewrite, requiring the new sendmail 35538032Speter (since they use new features). 35638032Spetercontrib Some contributed tools to help with sendmail. THESE 35738032Speter ARE NOT SUPPORTED by sendmail -- contact the original 35838032Speter authors if you have problems. (This directory is not 35938032Speter on the 4.4BSD tape.) 36064562Sgshapirodevtools Build environment. See devtools/README. 36138032Speterdoc Documentation. If you are getting source, read 36238032Speter op.me -- it's long, but worth it. 36364562Sgshapiroinclude Include files used by multiple programs in the distribution. 36464562Sgshapirolibsmdb sendmail database library with support for Berkeley DB 1.X, 36564562Sgshapiro Berkeley DB 2.X, Berkeley DB 3.X, and NDBM. 36664562Sgshapirolibsmutil sendmail utility library with functions used by different 36764562Sgshapiro programs. 36838032Spetermail.local The source for the local delivery agent used for 4.4BSD. 36938032Speter THIS IS NOT PART OF SENDMAIL! and may not compile 37038032Speter everywhere, since it depends on some 4.4-isms. Warning: 37138032Speter it does mailbox locking differently than other systems. 37264562Sgshapiromailstats Statistics printing program. 37338032Spetermakemap A program that creates the keyed maps used by the $( ... $) 37438032Speter construct in sendmail. It is primitive but effective. 37538032Speter It takes a very simple input format, so you will probably 37638032Speter expect to preprocess must human-convenient formats 37738032Speter using sed scripts before this program will like them. 37838032Speter But it should be functionally complete. 37938032Speterpraliases A program to print the DBM or NEWDB version of the 38038032Speter aliases file. 38138032Speterrmail Source for rmail(8). This is used as a delivery 38238032Speter agent for for UUCP, and could presumably be used by 38338032Speter other non-socket oriented mailers. Older versions of 38438032Speter rmail are probably deficient. RMAIL IS NOT PART OF 38538032Speter SENDMAIL!!! The 4.4BSD source is included for you to 38664562Sgshapiro look at or try to port to your system. There is no 38764562Sgshapiro guarantee it will even compile on your operating system. 38838032Spetersmrsh The "sendmail restricted shell", which can be used as 38938032Speter a replacement for /bin/sh in the prog mailer to provide 39038032Speter increased security control. NOT PART OF SENDMAIL! 39164562Sgshapirosendmail Source for the sendmail program itself. 39238032Spetertest Some test scripts (currently only for compilation aids). 39364562Sgshapirovacation Source for the vacation program. NOT PART OF SENDMAIL! 39464562Sgshapiro 39580785Sgshapiro$Revision: 8.71.4.8 $, Last updated $Date: 2001/07/31 22:42:46 $ 396