Sendmail

From Lolly's Wiki
Jump to navigationJump to search

Compile sendmail

Solaris 10

Untar source, then go into the source directory.

devtools/Site/site.config.m4

dnl #####################################################################
dnl ### Changes to disable the default NIS support                    ###
dnl #####################################################################
APPENDDEF(`confENVDEF', `-UNIS')

dnl #####################################################################
dnl ### Changes for PH_MAP support.                                   ###
dnl #####################################################################
APPENDDEF(`confMAPDEF',`-DPH_MAP')
APPENDDEF(`confLIBS', `-lphclient')
APPENDDEF(`confINCDIRS', `-I/opt/nph/include')
APPENDDEF(`confLIBDIRS', `-L/opt/nph/lib')


dnl #####################################################################
dnl ### Changes for STARTTLS support                                  ###
dnl #####################################################################
APPENDDEF(`confENVDEF',`-DSTARTTLS')
APPENDDEF(`confLIBS', `-lssl -lcrypto')
APPENDDEF(`confLIBDIRS', `-L/opt/openssl/lib -R/opt/openssl/lib')
APPENDDEF(`confINCDIRS', `-I/opt/openssl/include')


dnl #####################################################################
dnl ### GCC settings                                                  ###
dnl #####################################################################
define(`confCC', `gcc')
define(`confOPTIMIZE', `-O3')
define(`confCCOPTS', `-m64 -B/usr/ccs/bin/amd64') 
define(`confLDOPTS', `-m64 -static-libgcc -lgcc_s_amd64')
APPENDDEF(`confENVDEF', `-DSM_CONF_STDBOOL_H=0')
APPENDDEF(`confLIBDIRS', `-L/lib/64 -R/lib/64 -L/usr/sfw/lib/amd64 -R/usr/sfw/lib/amd64')


dnl #####################################################################
dnl ### Use the more modern shell                                     ###
dnl #####################################################################
define(`confSHELL', `/usr/bin/bash')

dnl #####################################################################
dnl ### Installdirs                                                   ###
dnl #####################################################################
define(`confMANROOT', `/opt/sendmail-8.16.1/share/man/cat')
define(`confMANROOTMAN', `/opt/sendmail-8.16.1/share/man/man')

define(`confMBINDIR', `/opt/sendmail-8.16.1/sbin')
define(`confUBINDIR', `/opt/sendmail-8.16.1/bin')
# sh ./Build -c
# cd cf/cf
# cp generic-solaris.mc sendmail.mc
# sh ./Build sendmail.cf
# sh ./Build install-cf
# mkdir -p /opt/sendmail-8.16.1/{bin,share/man/cat{1,5,8}} ; ./Build install ;

Using the original Solaris 10 svc to sart your own sendmail

If you have set config/local_only=true at the parameters of svc:/network/smtp:sendmail the service will fail with:

Invalid operation mode l

This is because the start script will result in calling sendmail with the option "-bl" when config/local_only=true is set. So put this in your sendmail.mc instead:

 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

and set config/local_only=false:

# svccfg -s svc:/network/smtp:sendmail setprop config/local_only=false
# svcadm refresh svc:/network/smtp:sendmail

After that senmail might come up :-).