Managing Mail Delivery by Using an Alternate Configuration
To facilitate the transport of inbound mail and outbound mail, the new default configuration
of sendmail uses a daemon and a client queue runner. If you have disabled
your daemon, you should perform the following task. For a detailed explanation, refer to
submit.cf Configuration File From Version 8.12 of sendmail.
How to Manage Mail Delivery by Using an Alternate Configuration of sendmail.cf
In the default configuration of sendmail, the client queue runner must be able to submit
mail to the daemon on the local SMTP port. If the daemon is
not listening on the SMTP port, the mail remains in the queue. To avoid
this problem, perform the following task. For more information about the daemon and client queue
runner and to understand why you might have to use this alternate configuration, refer
to submit.cf Configuration File From Version 8.12 of sendmail.
This procedure ensures that your daemon runs only to accept connections from the local
host.
- Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To configure a role with the Primary Administrator profile, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.
- Stop sendmail.
# svcadm -t disable network/smtp:sendmail
- Make a copy of the configuration file that you are changing.
# cd /etc/mail/cf/cf
# cp sendmail.mc myhost.mc
- myhost
Select a new name for your .mc file.
- Edit the new configuration file (for example, myhost.mc).
Add the following line before the MAILER() lines.
# cat myhost.mc
..
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`NAME=NoMTA4, Family=inet, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Name=MSA4, Family=inet, Addr=127.0.0.1, Port=587, M=E')dnl
Note - Use these configuration macros on machines that only have configured addresses for IPv4.
- (Optional) If your host has an IPv6 local host address that is enabled, edit the
new configuration file as follows.
Add the following lines before the MAILER() lines.
# cat myhost.mc
..
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`NAME=NoMTA4, Family=inet, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Name=MSA4, Family=inet, Addr=127.0.0.1, Port=587, M=E')dnl
DAEMON_OPTIONS(`NAME=NoMTA6, Family=inet6, Addr=::1')dnl
DAEMON_OPTIONS(`Name=MSA6, Family=inet6, Addr=::1, Port=587, M=E')dnl
Caution - To add these configuration macros, you must have configured addresses for IPv4 and IPv6.
- (Optional) To see if your host has an IPv6 local host address that is enabled,
run the following command.
# /usr/sbin/ifconfig -a
If IPv6 is enabled, you should see output that is similar to the following.
lo0: flags=2000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6> mtu 8252 index 1
inet6 ::1/128
- Build the configuration file by using m4.
# /usr/ccs/bin/make myhost.cf
- Install the new configuration file after making a copy of the original.
# cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.save
# cp myhost.cf /etc/mail/sendmail.cf
- Restart the sendmail service.
# svcadm enable network/smtp:sendmail