[postfix-es] Duda sobre Altermime con Postfix como Relay.

Salvador Guzman - Salman PSL informaciones en salman.es
Vie Oct 14 10:42:38 CEST 2011


Efectivamente lo unico complicado del altermime es la configuracion del script que realiza la 
accion.

En mi caso, lo tengo configurado para distintas acciones :

####################################################################
#!/bin/sh

ALTERMIME=/usr/bin/altermime
DIRECTORIO=/Filtros/inclusiones
SENDMAIL=/usr/sbin/sendmail
EX_UNAVAILABLE=69
Asunto=""
trap "rm -f correo.$$" 0 1 2 3 15
cd $DIRECTORIO
cat > correo.$$

$ALTERMIME --input=correo.$$ --xheader="References: <Salida_$$@Servidor.$HOSTNAME> "

if [ -f "$2.Asunto.txt" ]; then
 Asunto=$(cat $2.Asunto.txt)
 if [ "`grep Subject correo.$$ | grep $Asunto`" = "" ]; then
  Asunto="[$Asunto]"
 else
  Asunto=""
 fi
 $ALTERMIME --input=correo.$$ --alter-header="Subject" --alter-with=$Asunto --alter-mode=prefix  --xheader="X-Servidor-Salman-Asunto: 
$HOSTNAME - Incluido $Asunto"
fi

if [ -f "$2.Firma.inc" ]; then
 $ALTERMIME --input=correo.$$ --disclaimer=/Filtros/inclusiones/$2.Firma.inc --disclaimer-html=/Filtros/inclusiones/$2.Firma.Html.inc 
  --xheader="X-Servidor-Salman-Firma: $HOSTNAME - Incluida " || { echo Message content rejected; 
exit $EX_UNAVAILABLE; }
fi

Dominio=`echo $2 | cut -d@ -f2`
if [ -f "$Dominio.Texto.inc" ]; then
 $ALTERMIME --input=correo.$$ --disclaimer=/Filtros/inclusiones/$Dominio.Texto.inc  --disclaimer-html=/Filtros/inclusiones/$Dominio.Html.inc 
 --xheader="X-Servidor-Salman-Disclamer: $HOSTNAME - Incluido" || { echo Message content rejected; 
exit $EX_UNAVAILABLE; }
fi

$SENDMAIL "$@" < correo.$$

# rm -f correo.$$
# rm -f correo.$$.tmp

exit $?
####################################################################


----- Mensaje original ----- 
De: "Victor Oñate" <victormanuelo en gmail.com>
Para: "Jose" <j.sejo1 en gmail.com>
CC: "Foro Postfix" <postfix-es en lists.wl0.org>
Enviado: viernes, 14 de octubre de 2011 3:23
Asunto: Re: [postfix-es] Duda sobre Altermime con Postfix como Relay.


Hola Jose.


El día 13 de octubre de 2011 14:29, Jose <j.sejo1 en gmail.com> escribió:
> Buen día.
>
>
> Tengo en producción un servidor como pasarela de correo (mailgateway -
> relay) en la Red DMZ, sirviendo para retransmitir hacia al exterior
> los correos de los usuarios (Zimbra) y los correos de las aplicaciones
> (php-mta)
>
> Queremos implementar una firma legal sobre el uso del correo
> electrónico bla bla bla.... al final de cada mensaje saliente hacia
> cuentas externas (hotmail, gmail, yahoo, etc).
>
> Leyendo un poco encuentro información de utilizar altermime.
>
> Quería ver sus opiniones sobre este punto, y si aplica o funciona en
> un postfix como relay, ya que en dicho servidor no hay cuentas de
> usuarios.
>
> Gracia.s
>

Efectivamente funciona y funciona muy bien, de ehcho tengo 5 servidores
como relay con esa configuracion, son 5 por que son tres dominios
distintos y uno de ellos
cuenta con 2 MX.

Aprovecho y te anexo la configuracio para que en un par de minutos tengas el
servidor configurado asumiendo que tu postfix ya esta funcionando.

#aptitude install altermime

Ya listo basicamente eso es todo con respecto a las instalaciones,
ahora bien editas el master.cf
y te debe quedar algo como lo siguiente.

# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================

smtp      inet  n       -       y       -       -       smtpd
   -o content_filter=dfilt
......
.......
......
.....
.....
.....
dfilt   unix    -       n       n       -       -       pipe
   flags=Rq user=pieuser argv=/etc/postfix/disclaimer/addpie.sh -f
${sender} -- ${recipient}

#less addpie.sh
#!/bin/bash

# Localize these.
INSPECT_DIR=/var/spool/disclaimer
SENDMAIL=/usr/sbin/sendmail
# Dominio XXXXXX
DOMINIO=/etc/postfix/disclaimer/dominio

# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69

# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15

# Start processing.
cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }

cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; }

# Condicion dominio
from_address=`grep -im 1 "Return-Path:" in.$$ | cut -d"@" -f2 | cut -d">" -f1`

if [ `grep -wi ^${from_address}$ ${DOMINIO}` ]; then
/usr/bin/altermime --input=in.$$ \
                   --disclaimer=/etc/postfix/disclaimer/mensaje.txt \
                   --disclaimer-html=/etc/postfix/disclaimer/mensaje_html.txt
fi

$SENDMAIL "$@" <in.$$

exit $?

################

 #less /etc/postfix/disclaimer/dominio
dominio.com.ve


Es importante Jose que te comente que este script es el que se
encuentra en internet generalmente,
sin embargo te comento que el condicional "if" del fina lo agregue en
funcion de que solo sea los correos
de salida de mi dominio hacia dominios foraneos a los que se le
agregue la coletilla.

#less /etc/postfix/disclaimer/mensaje.txt
"Este contenido es confidencial y de interés exclusivo para bla bla y bla"

#less /etc/postfix/disclaimer/mensaje_html.txt
<html>
<body>
"Este contenido es confidencial y de interés exclusivo para bla bla y bla"
<body>
<html>


Es importante que te des cuenta que debes crear un usuario como lo
quieras llamar
en mi caso es "pieuser" y todos los archivos creados deben tener ese
grupo con permiso de ejecucion.
en mi caso fueron (addpie.sh, mensaje_html.txt, mensaje.txt, domnio)

Ejemplo
#ls -la /etc/postfix/disclaimer/dominio
-rwxrwx--- 1 root pieuser 17 jul 21 15:28 /etc/postfix/disclaimer/dominio



# grep  pieuser /etc/passwd
pieuser:x:1000:1001:,,,:/dev/null:/bin/bash
# grep  pieuser /etc/group
pieuser:x:1001:


Victor Oñate
Debian Venezuela
Puerto Ordaz

>
>
> --mensaje_html.txtmensaje_html.txt
> List de correo postfix-es para tratar temas del MTA postfix en español
> postfix-es en lists.wl0.org
> http://lists.wl0.org/mailman/listinfo/postfix-es
>
_______________________________________________
List de correo postfix-es para tratar temas del MTA postfix en español
postfix-es en lists.wl0.org
http://lists.wl0.org/mailman/listinfo/postfix-es 

Saludos
Salvador Guzman
Salman PSL
Vigo, Galicia, España
+34 986.21.30.27
+34 679-Salman
Correo @Salman.ES
Informaciones @Salman.ES para listas de correo
http://Salman.EU/


Más información sobre la lista de distribución postfix-es