Index
Part 1. Configuring Sendmail on Solaris 10
Part 2. Configuring Sendmail to Masquerade Your Messages
Part 3. Configuring Sendmail to Relay Messages to Another Server
Part 4. Configuring Sendmail to Relay Messages from Other Servers
Introduction
Whoever tried to get Sendmail up and running will agree that taming Sendmail requires black magic. I won't even try to enter into Sendmail internal and details: I don't master it and conform with being able to configure my Solaris box (and zones) to fulfill my needs. Nevertheless, I'll admit that Sendmail has got its own spell and felt compelled to keep on reading on to discover what Sendmail is capable of.Verifying Sendmail State and Starting It Up
Solaris 10 Sendmail is configured as an SMF-managed service. To check sendmail status you can use:$ svcs \*sendmail\*
STATE STIME FMRI
online 14:19:23 svc:/network/smtp:sendmail
If Sendmail were not enabled, just use svcadm to bring it up:
# svcadm enable svc:/network/smtp:sendmail
Configuring Sendmail for Open Mode
Solaris 10 Sendmail configuration is such that Sendmail will only run in local mode, thus rejecting connections from other hosts. If you want to review Sendmail default Solaris 10 configuration, you can use:# svccfg -s svc:/network/smtp:sendmail listprop
[...snip...]
config/local_only boolean true
[...snip...]
If you're curios, SMF properties are used by SFM methods. A closer examination to Sendmail startup script in Solaris 10, indeed, reveals the following:
local=`/usr/bin/svcprop -p config/local_only $SMF_FMRI 2>/dev/null`
if [ $? = 0 -a "$local" = "true" ]; then
OPTIONS="$OPTIONS -C /etc/mail/local.cf"
fi
If you want to configure your Sendmail to work in open mode you can run the following:
# svccfg -s svc:/network/smtp:sendmail setprop config/local_only= boolean: false
# svcadm restart svc:/network/smtp:sendmail
Solaris 10 Default configuration
If you inspect the default sendmail.mc file for Solaris 10 you'll find the following:divert(0)dnl
VERSIONID(`@(#)sendmail.mc 1.11 (Sun) 06/21/04')
OSTYPE(`solaris8')dnl
DOMAIN(`solaris-generic')dnl
define(`confFALLBACK_SMARTHOST', `mailhost$?m.$m$.')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl
LOCAL_NET_CONFIG
R$* < @ $* .$m. > $* $#esmtp $@ $2.$m $: $1 < @ $2.$m. > $3
Local and smtp mailers are on and you should be able to send mail, both locally and remotely, from such a host. Unless you configure your perform additional configuration, you won't be able to connect remotely to this instance, nor using such an instance as a mail relay. Naturally, some tweaking is usually required and it will be performed with the procedure described in the following sections.
Building a Configuration File for Sendmail
To build a configuration file for your Sendmail you can perform the following:- Temporarily disable your Sendmail:
# svcadm disable -t svc:/network/smtp:sendmail
- Go to Sendmail configuration templates directory:
# cd /etc/mail/cf/cf
- Start with a fresh file and write your configuration down:
# cp sendmail.mc your-file.mc
Compile your file:
# /usr/ccs/bin/make your-file.cf
Test your configuration:
# sendmail -C your-file.cf -v your-email-address </dev/null
Apply your configuration:
# cp your-file.cf /etc/mail/sendmail.cf
Restart and use Sendmail:
# svcadm enable svc:/network/smtp:sendmail
A good place to start for studying Solaris 10 Sendmail is Solaris System Administration Guide: Network Services (Chapter 13).
In configuring sendmail for open mode, you need to first refresh the service before restarting it so the running config gets the property:
ReplyDeletesvcadm refresh svc:/network/smtp:sendmail
svcadm restart svc:/network/smtp:sendmail