Re: FC5 boot process, sendmail and sm_client???

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 11 July 2006 11:51, Deepak Shrestha wrote:
> My fedora 5 installation is working fine except some annoying boot
> time. During boot, when it reaches the part of starting sendmail it
> takes about 2 minutes and another 1 minute for the sm_client.

This is probably (as pointed out by Paul) a name resolution issue.
The problem occurs when sendmail tries to determine its fully-
qualified DNS name.  If your system is on a DSL, cable, or dial-up
connection, then this is futile.  Even if the ISP provides the name,
it won't be what you want on mail sent by your system.  So you have to
"fool" sendmail by telling a bit of a lie.

First, you need to install sendmail-cf, if you do not already have it
installed:

    $ sudo yum install sendmail-cf

Next, you need to reconfigure sendmail.  This involves editing the
/etc/mail/sendmail.mc file and then regenerating its configuration
file from that file and then restarting sendmail.  We need to tell
sendmail its fully-qualified DNS name, have it masquerade all mail
from your system as if it were originating from your ISP's domain,
tell it not to probe your system's network interfaces for their DNS
names, and probably tell it to use your ISP's mail server as a smart
relay instead of attempting to deliver mail directly.

(This last bit is necessary because a lot of admins configure their
mail systems to refuse mail from IP addresses that "live" on ISP DSL
and dial-up networks.  This prevents zombie mail relays, operated by
spammers, from sending mail.)

This procedure will vary a bit from system to system, but I'll show
you my configuration so you can get the general idea.  Google will
help find a more thorough procedure.

/etc/mail/senmail.mc
--------------------

    $ diff -u sendmail.mc.rpmnew sendmail.mc
    --- sendmail.mc.rpmnew  2006-02-17 12:05:53.000000000 -0500
    +++ sendmail.mc 2006-07-12 06:39:40.000000000 -0400
    @@ -19,7 +19,7 @@
     dnl # Uncomment and edit the following line if your outgoing mail needs to
     dnl # be sent out through an external mail server:
     dnl #
    -dnl define(`SMART_HOST',`smtp.your.provider')
    +define(`SMART_HOST',`[mail.bellsouth.net]')
     dnl #
     define(`confDEF_USER_ID',``8:12'')dnl
     dnl define(`confAUTO_REBUILD')dnl
    @@ -153,11 +153,13 @@
     dnl # The following example makes mail from this host and any additional
     dnl # specified domains appear to be sent from mydomain.com
     dnl #
    -dnl MASQUERADE_AS(`mydomain.com')dnl
    +MASQUERADE_AS(`bellsouth.net')dnl
     dnl #
     dnl # masquerade not just the headers, but the envelope as well
     dnl #
    -dnl FEATURE(masquerade_envelope)dnl
    +FEATURE(masquerade_envelope)dnl
    +FEATURE(`allmasquerade')dnl
    +FEATURE(`always_add_domain')dnl
     dnl #
     dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
     dnl #
    @@ -167,6 +169,8 @@
     dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
     dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
     dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
    +define(`confDONT_PROBE_INTERFACES', `True')dnl
    +define(`confDOMAIN_NAME', `tfr.bellsouth.net')dnl
     MAILER(smtp)dnl
     MAILER(procmail)dnl
     dnl MAILER(cyrusv2)dnl
    $

Since you lied to sendmail about your system's fully-qualified DNS
name, you need to provide a local name service for that name.  You do
this by adding the name to your /etc/hosts file:

    $ grep tfr /etc/hosts
    127.0.0.1       localhost       tfr     dspam   tfr.bellsouth.net
    $

You also need to add your login ID to the /etc/mail/virtusertable file
so that outbound mail from you will be rewritten as having come from
your ISP mail account:

    $ cat virtusertable
    garry   <my_isp_user_id>@bellsouth.net
    root    <my_isp_user_id>@bellsouth.net
    $

(Substitute your ISP mail account user ID for the `<my_isp_user_id>'
in the above.)

Add any other local users (and their ISP mail account user IDs) you
have on your system to this file so that they get their outbound mail
rewritten as well.

Now you need to regenerate your senmail.cf file from the updated
senmail.mc file and create the virtusertable database file.  This is
easy because a make file will automatically do that for you:

    $ sudo make -C /etc/mail/Makefile

Finally, tell sendmail to restart with its new configuration:

    $ sudo service sendmail restart

-- 
Garry T. Williams --- +1 678 656-4579



[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux