BBS水木清华站∶精华区
发信人: York (夜郎), 信区: Unix
标 题: sendmail.cf 设置 !!
日 期: Tue Mar 12 11:08:58 1996
在网友的帮助下,本人的sendmai问题已基本解决.
但对sendmail疑惑的网友似乎还不只我一个.在此将网友给我的help文件共享!
-------------
Here is an excellent info from paul@uxc.cso.uiuc.edu
(Paul Pomes - UofIllinois CSO):
! Here's a file I put together for local use that appears close to your
! situation. Comments welcome.
!
! /pbp
! ====
!
! How to Fix a Cranky SUN Mail System.
!
!
! 1) Kill the existing sendmail daemon process.
!
! ps waux | grep sendmail
! kill <pid> where <pid> is the process id of the daemon.
!
! 2) Replace the default sendmail executable with the SUN-supplied version
! that understands use of the DNS. Zap any frozen config file present.
!
! cd /usr/lib
! cp sendmail sendmail.nomx
! chmod 755 sendmail.nomx
! cp sendmail.mx sendmail
! chmod 4511 sendmail
! rm -f /usr/lib/sendmail.fc /etc/sendmail.fc /etc/mail/sendmail.fc
!
! 3) Establish a /etc/resolv.conf file to direct DNS queries to a server.
! The values of "domain" and the "nameserver" lines depends critically
! on where you are. At the University of Illinois the value of domain
! is typically your department or office name combined with "uiuc.edu".
! Long names, e.g., Personnel Services Office, are typically abbreviated
! (pso.uiuc.edu). Examples: math.uiuc.edu, life.uiuc.edu, ncsa.uiuc.edu.
!
! Some institutions have a one domain fits all name. An example of
! this is the US Army Corps of Engineers, Construction Engineering
! Research Lab locally known as US Army CERL. Army policy specifies
! that domain names must use their official acronym with the "army.mil"
! domain. So CERL's domain name is "cecer.army.mil". Adding a fourth
! domain to distinguish internal departments and divisions would have
! made the names overly long. Thus all CERL hosts are named
! foo.cecer.army.mil.
!
! Selecting nameservers must be done in consultation with your local
! network expert. At the University of Illinois (and ONLY here please)
! the following values can be used. Let's repeat that - only University
! of Illinois hosts should be using our nameservers.
!
! domain foo.uiuc.edu (replace foo with your official domain)
! nameserver 128.174.5.59
! nameserver 128.174.5.50
! nameserver 128.174.5.58
!
! At US Army CERL, use the following:
!
! domain cecer.army.mil
! nameserver 129.229.20.254
! nameserver 129.229.1.5
!
! N.B., SUN's resolver code is based on BIND v4.8.1 and suffers from several
! problems. Chief among those is zero fault tolerance. If the first listed
! nameserver is unreachable or dead, the resolver won't try any of the
! subsequently listed servers. Re-compiling both sendmail and libresolv.a
! from modern sources is the only fix for this.
!
! 4) Copy the "main" sendmail.cf base file to sendmail.cf.
! Under SUN-OS 4.X use
!
! cp /usr/lib/sendmail.main.cf /etc/sendmail.cf
!
! Under SUN-OS 5.X use
!
! cd /etc/mail
! cp main.cf sendmail.cf
!
!
! Now that the base work has been done you have a choice: death or chi-chi.
! No, that's another sick joke. Let's stick to SUNs and retain what shreds
! of dignity we can. Onward.
!
! The next set of steps involve changes to the sendmail.cf file. Invoke the
! editor of your choice on /etc/sendmail.cf or /etc/mail/sendmail.cf.
!
! 5) Change the value of the $j greeting macro. Macros are defined with
! lines beginning with 'D'. Thus the $j macro is defined on a line
! beginning with 'Dj'. Change sendmail.cf (nee main.cf) to look like
!
! # my official hostname
! # You have two choices here. If you want the gateway machine to identify
! # itself as the DOMAIN, use this line:
! #Dj$m
! # If you want the gateway machine to appear to be INSIDE the domain, use:
! #Dj$w.$m
! # Unless you are using sendmail.mx (or have a fully-qualified hostname),
use:
! Dj$w
!
! (Comment out the Dj$m entry and enable the Dj$w entry.)
!
! 6) Select the proper mailer for forwarding to a smarter relay. In the
! case of a site connected to the Internet, this is the "ddn" mailer.
! Change to:
!
! # major relay mailer - typical choice is "ddn" if you are on the
! # Defense Data Network (e.g. Arpanet or Milnet)
! #DMsmartuucp
! DMddn
!
! 7) Select the smarter relay to handle messages to unknown destinations.
! This MUST be selected on a per-site basis.
!
! At the University of Illinois *ONLY*
!
! # major relay host: use the $M mailer to send mail to other domains
! DRux1.cso.uiuc.edu
! CRux1.cso.uiuc.edu
!
! At the US Army CERL *ONLY*
!
! # major relay host: use the $M mailer to send mail to other domains
! DRmax.cecer.army.mil
! CRmax.cecer.army.mil
!
! 8) Configure your domain names. Replace the foo.bar.uiuc.edu names below
! with your host's FQDN.
!
! #################################################
! #
! # General configuration information
! ...
! # Example: (bogus examples, ignore)
! # DmCS.Podunk.EDU
! # Cm cs cs.Podunk.EDU
! Dwfoo.bar.uiuc.edu
! Dmfoo.bar.uiuc.edu
!
! 9) Change the ddn mailer rules in ruleset 0 according to the comments there.
! Ruleset 0 is labelled by a line containing only "S0". About 40 lines
! further down are the following rulesets.
!
! # Pass other valid names up the ladder to our forwarder
! #R$*<@$*.$=T>$* $#$M $@$R $:$1<@$2.$3>$4 user@domain.known
!
! # Replace following with above to only forward "known" top-level domains
! #R$*<@$*.$+>$* $#$M $@$R $:$1<@$2.$3>$4 user@any.domain
!
! # if you are on the DDN, then comment-out both of the the lines above
! # and use the following instead:
! R$*<@$*.$+>$* $#ddn $@ $2.$3 $:$1<@$2.$3>$4 user@any.domain
!
! Follow the comments and comment out the second rule that forwards
! only "known" domains and enable the following rule that uses the "ddn"
! mailer.
!
! Write the sendmail.cf file back out and leave the editor. Now test the
! changes by using sendmail in test mode.
!
! 10) Test address recognition. Invoke sendmail in address test mode:
!
! /usr/lib/sendmail -bt
!
! Run the following address forms through one at a time. The leading 0
! is the starting ruleset. Each address should resolve to "user" using
! the "local" mailer. Replace "foo" and "bar.uiuc.edu" with the name
! of your host and domain.
!
! 0 user
! 0 user@foo
! 0 user@foo.bar.uiuc.edu
!
! 11) Verify out-going addresses are correct. Use the -v option to Berkeley
! mail to check that the return addresses are correct. If -v doesn't
! work with your mailer, use sendmail direct.
!
! Mail -v nobody@ucbvax.berkeley.edu < /dev/null
! or
! /usr/lib/sendmail -v nobody@ucbvax.berkeley.edu < /dev/null
!
! 12) Fire up sendmail in daemon mode.
!
! /usr/lib/sendmail -bd -q1h
!
! 13) Test in-bound mail. From another host, verify that mail sent to a
! user that has no forwarding set up, either via /etc/aliases or
! .forward file, actually arrives. Telnet to the SMTP port and verify
! that the greeting message uses the fully qualified domain name.
!
! telnet foo.bar.uiuc.edu 25
!
! quit
! --
BBS水木清华站∶精华区