jueves, 17 de septiembre de 2009

Tips de Sendmail

Hola nuevamente, les comento un contratiempo que como ya me paso 2
veces lo voy a dejar reflejado en el grupo... asi la próxima vez ya se
donde esta la solucion....

Después de una nueva instalacion (S10U4) me puse a configurar el
sendmail para que trabajara como ralay, modifico el sendmail.mc, lo
recompilo y genero el nuevo sendmail.cf, lo actualizo y reinicio el
sendmail, pero nada pasa... después de mucho pelearme recuerdo que
hace un tiempo me paso algo similar y el problema era que el sendmail
tiraba del archivo de configuración /etc/mail/local.cf y no del /etc/
mail/sendmail.cf.

Bueno les paso el porque y dos posibles soluciones, la definitiva y la
solución para salir del paso... La verdad, es que no se desde cuando
pasa esto en sendmail y tampoco investigue su porque real, que
seguramente lo tiene!!!

La explicación de por que utiliza el local.cf es la siguiente:

El servicio utiliza el script /lib/svc/method/smtp-sendmail para
arrancar el sendmail y este verifica la propiedad config/local si esta
es true utiliza el local.cf sino el sendmail.cf. La solución
definitiva es parar el sendmail, modificar dicha propiedad y volver a
arrancarlo.

código del /lib/svc/method/smtp-sendmail

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

Para ver el valor de la propiedad config/local ejecutamos lo
siguiente:
# /usr/bin/svcprop -p config/local_only smtp
true

Workarround: reemplazar el local.cf por un link al sendmail.cf
# cp /etc/mail/local.cf /etc/mail/local.cf.YYYYMMDD
# rm /etc/mail/local.cf
# ln -s /etc/mail/sendmail.cf /etc/mail/local.cf

Solución definitiva: modificamos el valor y reiniciamos sendmail para
que utilice /etc/mail/sendmail.cf
# svccfg -s smtp:sendmail setprop config/local_only =
boolean: false
# svcadm refresh sendmail
# /usr/bin/svcprop -p config/local_only smtp
false

# svcadm disable sendmail
# svcadm enable sendmail

Comandos para verificar las propiedades
# svcprop -p config/local_only smtp
# svccfg -s smtp:sendmail listprop

Recompilación de sendmail:

# cd /etc/mail/cf/cf
# cat misendmail.mc
divert(-1)
divert(0)dnl
VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00')
OSTYPE(`solaris8')dnl
DOMAIN(`solaris-generic')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl
define(`SMART_HOST', `mail.midominio.com')
MASQUERADE_AS(midominio.com)dnl
MASQUERADE_DOMAIN(midominio.com)dnl
MASQUERADE_DOMAIN(otrodominio1.com)dnl
MASQUERADE_DOMAIN(otrodominio2.com)dnl
MAILER(`local')dnl
MAILER(`smtp')dnl

# make misendmail.cf
# cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.YYYYMMDD
# cp misendmail.cf /etc/mail/sendmail.cf
# svcadm restart sendmail

Actualización del archivo de relay-domains
# cd /etc/mail
# vi relay-domains
app1.midominio.com RELAY
app2.midominio.com RELAY
midominio.com RELAY
midominio1.com RELAY
midominio1.com RELAY

## Recompilamos el archivo de relays
# makemap dbm /etc/mail/relay-domains < /etc/mail/relay-domains

Salu2,

Mariano



No hay comentarios: