Por inquietud de un amigo me puse a investigar un poco en la creacion de este tipo de servidores que no es mas que un servidor de correo saliente sin ninguna limitación, muchas veces nos es necesario enviar muchos correos a muchos destinatarios y nuestros servidores de correo tiene un número limitado de correo que podemos enviar por un tiempo determinado. Tanto para envíos masivos de boletines  como para empresas con muchas cuentas de correo, o con cuentas desde las que el tráfico de salida sea amplio, esto supone un gran inconveniente ya que nos obliga a ralentizar las comunicaciones, de hecho en el caso de los envíos masivos, se tardarían días enteros en lanzarlos, incluso usando la opción de copia y copia oculta.

Básicamente lo que hace un smtp con relay es utilizar una cuenta de correo por ejemplo de Gmail para hacer un envío a múltiples destinatarios desde nuestro servidor de correo instalado en un equipo de nuestra red o nuestra maquina misma.

Manos a la obra comenzamos descargando algunos paquetes.

Instalaremos un servidor de dns

#apt-get install bind9

una vez este instalado nuestro servidor DNS  haremos las configuraciones de nuestras zonas

ESTAS CONFIGURACIONES SON PARA LA VERSION 1:9.7.1.dfsg.P2-2ubuntu0.4

Editamos el archivo /etc/bind/named.conf.default-zones

y agregamos las siguientes lineas

zone "tua.local" {
        type master;
        file "/etc/bind/tua.db";
con esto estamos creando una zona llamada "tua.local" para este ejemplo y agregaremos su reverse dns tambien agregando las siguientes lineas al archivo anterior
zone "172.in-addr.arpa" {
        type master;
        file "/etc/bind/db.172";
en mi caso estoy agregando como reverse la direccion 172 porque estoy usando una clase b, mas adelante veremos la configuración que lleva el archivo /etc/bind/db.172

ahora editaremos el archivo /etc/bind/tua.db, este debe ser creado especificamente en el directorio que se indica, y debera lucir de la siguiente manera.

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tua.local root.tua.local (
                        8
                        604800
                        86400
                        2419200
                        604800 )
;
@       IN      NS      ns.tua.local.
@       IN      MX      0 mail.tua.local.
ns      IN      A       172.16.0.180
mail    IN      A       172.16.0.180
WWW     IN      A       172.16.0.180
ubuntu  IN      A       172.16.0.180

en mi caso la misma maquina se usa como servidor de nombres (ns), correo (mail) y web (WWW). Esto dependerá de como se estructure la red de cada quien (esto es solo con fines didácticos).

paso seguido de que tenemos configurado nuestro archivo de zona, configuraremos nuestro reverse

para esto editaremos el archivo /etc/bind/db.172 el cual lucirá de la siguiente manera.

;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     tua.local. root.tua.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      tua.local.
180.0.16                IN      PTR     tua.local.

como se observa en la última línea los números 180.0.16 corresponden a mi ip (172.16.0.180) en otras palabras el primer octeto es con el que se asigna el nombre y la ultima línea del archivo db lleva el resto de mi ip invertida.

una vez configurado estos 3 archivos debemos reiniciar nuestro servidor DNS.

#/etc/init.d/bind9 restart

agregamos nuestro DNS a nuestro archivo resolv.conf el cual se encuentra en el directorio /etc

y para confirmar que todo este correcto teclearemos

#host 172.16.0.18 (esta es su ip) al presionar este comando deberemos recibir una respuesta como la siguiente:

180.0.16.172.in-addr.arpa domain name pointer tua.local.

ahora pasemos a configurar nuestro correo electronico.

para eso tecleamos

#apt-get install postfix

el tipo de instalación será “SITIO DE INTERNET”

en el nombre le pondremos el mismo que a nuestro dns (tua.local)

una vez instalado agregaremos las siguientes lineas al final del archivo /etc/postfix/main.cf

inet_protocols = ipv4
home_mailbox = Maildir/

Mediante estas líneas le indicaremos que protocolo vamos a usar y donde se guardarán los emails. Asimismo, revisa que en la directiva mydestination de este mismo fichero podamos ver:

mydestination = misitio.com

Para que los cambios surtan efecto, escribiremos en terminal lo siguiente:

sudo /etc/init.d/postfix restart

en este punto deberíamos de instalar nuestro servidor POP3 pero este post específico es unicamente SMTP, por lo cual el pop3 quedará para otra ocasión.

ahora viene lo interesante de esto, vamos a hacer que nuestro SMTP utilice una cuenta de gmail para funcionar

lo primero es instalar la paquetería necesaria

sudo aptitude install postfix libsasl2 ca-certificate libsasl2-modules

si el sistema no encuentra estos paquetes verifiquen que ca-certificates (ojo este lleva una “s” de mas que el comando anterior) este instalado, el tuto esta probado en ubuntu 10.10 así que si usan la misma versión no debería haber ningún problema.

una vez instalados estos módulos nos desplazaremos por el archivo de configuración de postfix /etc/postfix/main.cf y buscaremos la línea

relayhost y a partir de ahí el código quedará de la siguiente manera

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

aquí estamos indicando que nuestro server se comunicara al smtp de gmail por el puerto 587, y que  llevará una autenticación de usuario la cual definiremos en un archivo llamado sasl_passwd

ahora crearemos el archivo sasl_passwd en la ruta /etc/postfix/ , dentro de este archivo colocaremos la cuenta de correo y el password de la misma con la que queremos que se autentique nuestro servidor a gmail.

[smtp.gmail.com]:587    Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.:password

donde dice user.name@gmail:password , se debe colocar la cuenta de cada quien

cambiamos los permisos de dicho archivo a 400, y actualizamos las tablas de postfix con los nuevos valores del archivo sasl_passwd

sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd

en este punto solo nos queda reiniciar postfix

#/etc/init.d/postfix restart

y por último agregar nuestro certificado que mencionamos al principio.

cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee -a /etc/postfix/cacert.pem

eso es todo espero que haya sido de utilidad.

las fuentes de este tutorial son:

http://www.nosolounix.com/2010/01/servidor-de-correo-en-ubuntu.html

y

http://ubuntu-tutorials.com/2008/11/11/relaying-postfix-smtp-via-smtpgmailcom/

- See more at: http://webcache.googleusercontent.com/search?q=cache:dhQKoZhamgwJ:tareaslitat.net/%3Fp%3D102+&cd=1&hl=es&ct=clnk&gl=gt#sthash.cLtIPJKp.dpuf


DMC Firewall is developed by Dean Marshall Consultancy Ltd