# [mini-howto] Postfix+amavis-new+relay a través de gmail

## hashashin

En este mini howto veremos como configurar postfix para que filtre los mails a través de amavisd y los envíe a través de nuestra cuenta de gmail para evitar que se nos impida enviar con nuestra cuenta local, ya que muchas veces las ips dinámicas están en las black lists de los servidores de correo.

Partimos de la base de tener postfix corréctamente configurado, instalamos amavisd:

```
# emerge -av amavisd-new
```

y ahora 2 antivirus, usaremos el demonio de clamad como primer antivirus y f-prot como secundario:

```
# emerge -av clamav f-prot
```

Vayamos ahora a la configuración de postfix añadimos las siguientes líneas en main.cf:

```
# nano -w /etc/postfix/main.cf
```

 *Quote:*   

> ##filtro spam y virus
> 
> content_filter=smtp-amavis:[localhost]:10024
> 
> ## TLS/SSL
> ...

 

En el primer bloque le indicamos a postfix donde debe reenviar los mails para filtrarlos, en el segundo bloque TLS/SSL securizamos las comunicaciones de postfix cifrándolas, y en el bloque GMAIL indicamos que los mails deben ser enviados usando el smtp de gmail.

Bien ahora tenemos que crear los certificados y el archivo de passwords para el relay de gmail. Para crear los certificados ejecutamos:

```
# cd /etc/postfix/

# openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd-key.pem -days 3650
```

Para el envio a traves de gmail creamos el archivo sasl_passwd:

```
# nano -w /etc/postfix/sasl_passwd
```

El contenido seria algo asi:

 *Quote:*   

> smtp.gmail.com nombrecuentagmail:password

 

y ejecutamos:

```
# postmap /etc/postfix/sasl_passwd
```

Ya solo queda el archivo /etc/postfix/tls_policy donde indicaremos que queremos usar tls con gmail:

```
# nano -w /etc/postfix/tls_policy
```

 *Quote:*   

> smtp.gmail.com          may

 

y nuevamente ejecutamos:

```
# postmap /etc/postfix/tls_policy
```

Bien ahora vamos con el archivo master.cf de postfix, debemos crear un servidor local que no use el filtro para evitar que los mensajes se queden en un bucle:

```
# nano -w /etc/postfix/master.cf
```

Y añadimos:

 *Quote:*   

> ###Amavisd
> 
> smtp-amavis unix -      -       n     -        2  smtp
> 
>     -o smtp_data_done_timeout=1200
> ...

 

Echar un vistazo al archivo /etc/amavisd.conf y cambiamos los parámetros del hostname y domainname, luego buscamos la linea de clamav:

" \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"]," dentro del apartado "@av_scanners = "

y nos aseguramos que el nombre del sock es el mismo que en el archivo de configuración de clamav /etc/clamd.conf, en este apartado yo comentaría todos los escaners menos el que vamos a usar y en el siguiente apartado "@av_scanners_backup =" descomentamos o añadimos lo siguiente: *Quote:*   

> 
> 
>   ### http://www.f-prot.com/   - backs up F-Prot Daemon
> 
>   ['FRISK F-Prot Antivirus', ['f-prot','f-prot.sh'],
> ...

 

y comentamos los demas si queremos.

En el archivo /etc/clamd.conf descomentamos o añadimos la linea:

 *Quote:*   

> "AllowSupplementaryGroups yes" 

 

y añadimos el usuario clamav al grupo de amavis:

```
gpasswd -a clamav amavis
```

Iniciamos clamav y amavis y reiniciamos postfix.

Salud.

----------

## Inodoro_Pereyra

 *Quote:*   

> -o smtpd_recipient_restrictions=permit_mynetworks,reject

 

A ver si entendí bien: Es un relay abierto a la red local que reenvía por Gmail?

EXELENTE!! Me viene como anillo al dedo, gracias por la info.

Salud!

----------

## hashashin

Exacto eso es, entre otras cosas jeje. Y de nada, con que le sea útil a una sola persona ya vale el rato de escribirlo.

Salud.

----------

## JotaCE

Buscando como agregar un antivirus a mi servidor de correo, entonces mi pregunta es si este howto aun esta vigente. 

Mi idea es por lo pronto unicamente antivirus y pensaba en clamav, si me sirve, tienen por ahi algun documento para cumplir mi cometido ?

Gracias!!!!

----- EDITO -----

Estaba urgeteando por la red de redes y me encuentro con que al archivo /etc/postfix/master.cf debo agregar estas lineas

```
  smtp  inet    n       -       n       -       -       smtpd

         -o content_filter=clamav:clamav

  clamav unix    -       n       n       -       -       pipe

     flags=Rq user=clamav argv=/usr/lib/postfix/clamav-filter.sh -f ${sender}  --  ${recipient}
```

Pero si hago eso los correos no salen el archivo log me manda el siguiente error 

```
Jul 30 19:02:13 localhost postfix/pickup[14898]: 58BEC548116: uid=81 from=<miguel.medina@midominio.com>

Jul 30 19:02:13 localhost postfix/cleanup[18164]: 58BEC548116: message-id=<b864a215e84c23059bfb0edf4ac3580a@localhost>

Jul 30 19:02:13 localhost postfix/qmgr[14899]: 58BEC548116: from=<miguel.medina@midominio.com>, size=14023, nrcpt=1 (queue active)

Jul 30 19:02:13 localhost postfix/pipe[18176]: 58BEC548116: to=<juan.sanhueza@midominio.com>, relay=dovecot, delay=0.19, delays=0.17/0/0/0.01, dsn=5.3.0, status=bounced (command line usage error. Command output: Fatal: Unknown argument: smtp Usage: deliver [-c <config file>] [-a <address>] [-d <username>] [-p <path>] 
```

Alguna sugerencia ?

----------

