Tener email con tu dominio en un servidor casero

Desde que comencé la aventura de tener un servidor casero en casa hace ya dos años y medio atrás, siempre me había quedado una espinita clavada: el no disponer de email con mi dominio, es decir, del tipo “usuario@cbelena.es”. Yo realmente tengo más que suficiente con mi cuenta de Gmail y otra de Hotmail, pero mirando de cara a un futuro próximo, siempre queda más profesional darte a conocer con una de estas direcciones personalizadas.
Un poco de historia antes de empezar
Ya en los inicios, tal y como cuento en el post antes enlazado, trasteé con el tema de servidores de correo en mi servidor, y me topé con el problema de que los emails enviados son rechazados por la mayoría de servidores, aludiendo a que provienen de un rango de IPs dinámicas, y eso no les suele gustar nada. En general, si el email enviado no procede de una IP conocida de un ISP profesional, los servidores rechazan el correo. Obviamente, estas medidas se toman para evitar el spam.
En aquellos momentos lo que más me preocupaba respecto a los emails es que no me funcionaban las notificaciones que manda WordPress cada vez que llega un comentario. Según tengo entendido, WordPress confía en que haya un servidor de correo instalado en el sistema operativo y lo llama cada vez que es necesario. Pero como deseché la opción de tener un servidor de correo por lo comentado anteriormente, tuve que apañármelas de otra manera.
Me encontré con dos soluciones: una fácil y una difícil. Parece que en aquella época era un poco masoca y me fui a por la difícil (también aprendí más, por supuesto): editar archivos de la instalación de WordPress, tocando su código y demás. Harto de tener que hacer lo mismo en cada actualización del CMS (se reemplazan los archivos), me cambié a la solución fácil y cómoda: instalar un plugin para WordPress al que tú le indicas un servidor SMTP (el de tu cuenta de Gmail, por ejemplo) y envía los correos necesarios por ahí.
Como no me gustaba mucho la idea de utilizar el SMTP de mi cuenta de Gmail, empleé el que me proporcionaba la empresa donde tengo el dominio contratado. Me dan ese servicio como extra, al igual que un pequeño espacio web, a pesar de sólo tener contratado un plan dominio. El caso es que con este servicio hubiera podido tener una dirección de email con mi dominio, pero había un problema: teniendo el dominio principal configurado con una entrada CNAME (apuntando a la dirección de DynDNS) no me permitía tener el servicio de correo con ellos. Para poder utilizarlo, tuve que crear un subdominio, pero esto ya “ensuciaba” la dirección de email haciéndola más larga y fea.
Con esa cuenta es con la que hasta ahora han estado funcionando bastante bien las notificaciones de WordPress, pero el otro día, releyendo por casualidad esta entrada del siempre excelente blog de Vicente Navarro, me detuve en la parte del servidor de correo. No sé muy bien por qué en anteriores lecturas no le había prestado demasiada atención, pero esta vez me animó a indagar nuevamente y a conseguir finalmente tener un email con mi dominio, y que además funcionase en todo el sistema (y no sólo con WordPress), como debería ser lo normal y adecuado.
Como en mi caso no fue tan sencillo como parecía en un principio y me llevó unas cuantas horas investigando para tenerlo todo como yo quería, la finalidad de este post es doble: por una parte, servir como guía a quién me encuentre en buscadores; y por otra, servirme de referencia para que no se me olvide cómo lo hice. Vamos allá pues.
Crear una cuenta de Google Apps
Actualización 08/12/12: Lamentablemente el día 7 de diciembre de 2012 Google anunció que Google Apps dejaba de ser gratuito para nuevos usuarios: a partir de ahora pasará a ser 5 USD por usuario al mes. Para los usuarios que ya usasen el servicio seguirá siendo gratuito. Puede que te interese la alternativa de Microsoft, aunque desconozco si funcionaría para este propósito afortunadamente sí que funciona.
La solución para obtener emails con tu dominio pasa por crearse una cuenta gratuita con Google Apps. Este servicio de Google me sonaba, pero desconocía que se pudiese utilizar para este propósito. Además, pensaba que no habría versión gratuita. Pero sí la hay: hasta 10 cuentas de correo personalizadas, más que de sobra para lo que necesitamos.
¿Pero qué es Google Apps? Google Apps está pensado para empresas y organizaciones que prefieren utilizar los servicios de Google, pero con la diferencia de tenerlo todo personalizado para su empresa, incluyendo administrar a usuarios, grupos, etc. De ahí el poder utilizar direcciones de correo acabadas en @tudominio.com. Eso es a grandes rasgos, pero aquí tienes una explicación mejor. Un ejemplo práctico es poder utilizar a Gmail con todas sus funcionalidades en vez de los usualmente horrendos y poco usables clientes webmail para empresas que circulan por ahí.
Crearse una cuenta es muy fácil: ve a esta dirección e introduce tu dominio (sin las www). Rellena el resto de datos y ya la tienes. Ahora ya puedes iniciar sesión con los datos que has puesto y accederás al panel de control. Antes de poder configurar el correo, tienes que verificar que el dominio es tuyo. Te dan varias formas de hacerlo, y es bastante inmediato. Lo más sencillo es seguir el asistente que tienes en el apartado Establecimiento.
Una vez validado, si continuas, verás que para poder utilizar el servicio de correo te piden crear un registro MX que apunte a una dirección que ellos te piden. Aquí es donde vino mi primer problema: al igual que me pasaba antes, no podía cambiar nada que no fuera el registro CNAME. Para poder cambiar los registros MX tenía que cambiar a la opción DNS (ver la imagen de arriba), y en vez de dar la dirección de DynDNS, dar directamente mi IP pública como un registro A. Obviamente, no podía permitirme ese lujo porque mi IP no es fija. No sé cómo será en otras empresas, pero así de limitado es donde estoy actualmente. Sin poder configurar eso estaba perdido, pero entonces me dio por mirar la configuración que tenía en DynDNS y me fijé en un campo al que nunca le había dado mucha importancia: MX Hostname. Supongo que servicios similares, como No-IP, tendrán algo parecido.
Por suerte ahí pude poner la dirección que te piden (aspmx.l.google.com) y una vez se actualizó (puede tardar algunas horas hasta que el cambio sea efectivo), ya pude continuar con el asistente de Google Apps.
Para comprobar que se ha hecho efectivo el registro MX puedes escribir en una terminal lo siguiente:
nslookup
set querytype=MX
tudominio.com
Y si lo que te devuelve es algo así como lo siguiente:
[...]
Non-authoritative answer:
tudominio.com canonical name = tuhost.dyndns.org.
tuhost.dyndns.org mail exchanger = 10 aspmx.l.google.com.
Entonces ya está todo correcto. El asistente de Google Apps también comprueba esto por ti, pero no está de más conocer este comando.
El resto de pasos del asistente no son muy relevantes para este tutorial, a excepción de poder configurar un subdominio como la URL a través a la que accedes a tu nueva cuenta de correo, como por ejemplo correo.tudominio.com, para no tener que recordar la dirección que te dan por defecto, que es más larga y complicada de recordar.
Ahora que ya puedes acceder al correo, verás que es igual que tu cuenta de Gmail, incluidos los más de 10 GB de capacidad
Con esto ya tienes medio camino recorrido, ahora pasamos a configurar la parte de nuestro servidor casero para que emplee esta nueva cuenta para enviar los emails.
Configurar nuestro servidor con sSMTP
Mi segundo problema fue que no hubo manera de hacer funcionar correctamente el servidor Exim, el empleado en el mini tutorial referente al correo del blog de Vicente. Busqué alternativas, y apareció sSMTP como mi salvador. Considerablemente más fácil de configurar que Exim, me funcionó a la primera gracias a una respuesta de Server Fault, una página del mismo grupo de Stack Overflow y con idéntico funcionamiento, pero orientada a sysadmins y problemas con servidores en vez de preguntas de programación. Digamos que son la versión seria de Yahoo Respuestas.
Instalarlo es tan fácil como escribir en la terminal:
sudo apt-get install ssmtp
Y configurarlo tampoco tiene mucho misterio. Sólo hay que modificar unas pocas líneas del fichero /etc/ssmtp/ssmtp.conf de tal forma que quede así:
root=tuusuario@tudominio.com
mailhub=smtp.gmail.com:587
UseSTARTTLS=yes
UseTLS=yes
AuthUser=tuusuario@tudominio.com
AuthPass=tucontraseña
FromLineOverride=yes
Este fichero tiene por defecto permisos de lectura para others, por lo que deberás tomar medidas si compartes tu servidor con otros para que no te vean la contraseña de Google Apps.
¡Y solamente con esto ya tendrías tu servidor de correo funcionando! Puedes probarlo con el comando mail:
echo test | mail -v -s "Probando sSMTP" usuario@dominio.com
Ahora WordPress podrá enviar correos sin necesidad de plugins ni cambios en sus archivos, al igual que cualquier otra notificación que tenga que hacernos el sistema. Además, todos los emails enviados por el servidor se quedan en la carpeta Enviados de la cuenta Gmail de Google Apps.
Crear alias de usuario
En mi caso, para no tenerme que hacer cargo de otra cuenta de correo, configuré la nueva cuenta de Gmail para que reenviara todo correo entrante a mi cuenta normal de Gmail. De igual modo, configuré esta última para poder enviar correos desde mi nueva dirección personalizada. Esto me ocasionaba un problema, pues todo email que mi servidor me enviara a mí mismo, como las notificaciones de comentarios de WordPress, Gmail me lo organiza automáticamente en la carpeta Enviados. Esto es así porque Gmail ve que el campo “De:” es igual a una de las direcciones que tengo configuradas para enviar en mi nombre, e interpreta que lo he mandado yo, cuando en realidad ha sido mi servidor.
Esto me viene perfecto para otra de las cuentas que tengo configurada en mi Gmail, como la de la universidad. Así, cuando por ejemplo envío algún correo a un profesor, me lo mete en Enviados, a pesar de que el remitente no sea mi dirección de Gmail. Pero en el caso que nos ocupa, este hecho nos molesta más que otra cosa. La solución pasa por crear un alias. Veamos cómo.
Accede al panel de control de tu Google Apps y haz clic en el apartado de Organización y usuarios. Luego haz clic en tu usuario y en la ficha Información del usuario verás que hay un apartado llamado Alias. Pulsa en Añadir un alias y dale un nombre a la cuenta que quieras que use tu WordPress para las notificaciones, por ejemplo. Puedes añadir varios alias, según tus necesidades.
Como bien indica esa pantalla, todos los emails enviados a cualquiera de los alias te llegarán a tu cuenta, pero esa no es realmente la razón por la que los creamos.
Ahora entra en tu Gmail de Google Apps y configúrala para que puedes enviar emails desde el alias (Configuración > Cuentas > Añadir otra dirección de correo tuya):
Y finalmente, en tu servidor casero, edita el fichero /etc/ssmtp/revaliases como sigue:
www-data:wordpress@tudominio.com:smtp.gmail.com:587
De esta manera, cuando el usuario local www-data (el que utiliza Apache, y por lo tanto WordPress) quiera enviar un email, lo hará a través de wordpress@tudominio.com, y no a través de la dirección por defecto (la que pusiste en el fichero ssmtp.conf). Si sólo hiciéramos este último paso, Gmail automáticamente reemplazaría el campo “De:” por el usuario del fichero ssmtp.conf y no habríamos conseguido nada.
Por supuesto, puedes repetir estos pasos para tantos alias quieras tener.
Así hemos conseguido que los correos que envía nuestro WordPress tengan su propio remitente y no se mezclen con los mensajes realmente enviados por nosotros.
En el caso de que quieras empezar de cero con una nueva cuenta de Google Apps y utilizarla a partir de ahora como email principal (en vez de reenviar de la nueva a la vieja como yo, hacerlo al revés, por ejemplo), en vez de crear alias, se me ocurre que crees en Google Apps un nuevo usuario para el servidor, donde tenga su propio buzón de correo.
Por lo tanto, las credenciales que pondrías en el fichero ssmtp.conf no serían las de tu cuenta, sino las del servidor. E igualmente, podrías emplear alias con esta cuenta, pero en este caso ya no sería necesario debido a que no se mezclarían los enviados del servidor por tus propios enviados, al ser cuentas totalmente diferentes.
Creo que esto ha sido todo. La verdad es que creo que ha merecido la pena el esfuerzo; ahora ya sí que estoy satisfecho del todo con lo referente al email (y con mi servidor en general) y le puedo decir adiós a esa espinita que tenía clavada.
| Imprimir artículo | Este artículo fue publicado por Carlos Beleña el Sábado, 30 junio 2012 a las 3:31, y está archivado en Blog, Google, Informática, Internet, Secciones del blog, Tutoriales. Sigue las respuestas a esta entrada a través de RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio. |










hace 11 meses
Esperaba que siguieras siendo un masoca y acabaras encontrando la manera de instalar un servidor de correo propio.
Yo por comodidad uso también Google Apps pero siempre he tenido curiosidad de cómo sería hacerlo de esa otra forma.
hace 10 meses
Jajaja bueno, pero eso ya no depende de mí; haga lo que haga, todo email que envíe desde mi servidor será rechazado por la mayoría de servidores… a no ser que contacte con mi ISP y contrate una IP fija y otras historias que hay que hacer. No merece la pena, y menos ahora!
Saludos y gracias por pasarte
hace 10 meses
Como si no te conociera, sé que te mata la curiosidad y que lo harás tarde o temprano, jajaja.
hace 10 meses
Hola Carlos, tu blog es muy interesante, te sigo en G Reader desde hace mucho. Me interesa GApps, te hago dos consultas. La 1ra. si contrato un dominio cualquiera y deseo suscribirme a las GApps con ese dominio debe ser mucho menos engorroso que este proceso que has hecho ¿verdad? La el dominio comprado lo asignaría a un Blog de Blogger.
La 2da., es muy interesante las GApps a gran escala, como para una universidad (que según sé, encima para centros educativos es gratuito), ¿hay alguna forma de importar mails previamente almacenados a la cuenta? De esto último no estoy para nada seguro. Muchas Gracias, Lucas (desde Argentina).
hace 10 meses
Hola Lucas!
Bueno, este tutorial está enfocado para servidores caseros, pero parte de él te puede servir para tu propósito. Simplemente contrata el dominio, configúralo para que apunte a tu blog de Blogger (esto lo hice yo en su día y fue muy sencillo) y luego date de alta en Google Apps con ese dominio. Lo que sucede es que para que apunte a tu blog te pedirán a que apunte a un registro CNAME… entonces podrías tener el problema que cuento en el que la empresa donde tengo contratado el dominio no te permite cambiar los registros MX si pones un registro CNAME. Eso deberías tenerlo en cuenta.
Respecto a tu segunda pregunta, creo que sí se puede hacer, mira este enlace. Lo que no tengo claro es si sirve para obtener sólo los emails que te lleguen a partir de ahora o también para los antiguos.
Un saludo y muchas gracias por seguirme!!
hace 10 meses
Para usar Blogger y Google Apps al mismo tiempo no apuntes el dominio hacia Blogger por medio de registro CNAME, apúntalo hacia la IP de Blogger (74.125.95.121) y ya podrás modificar los registros MX.
hace 10 meses
Espectacular. Gracias a ambos por su ayuda! Ahora a experimentar! Saludos!!!
hace 10 meses
Conseguir que funcionen los correos con IP dinamica es una autentica locura, algunos ISP te piden que les pagues para dejarte de considerar spammer, otros te meten en una lista y solo te dan de baja si te comunicas con ellos, otros como yahoo pasan de ti y nunca te daran de baja como spammer.
Sino cumples el https://www.ietf.org/rfc/rfc2821.txt date por jodido
La solucion de Carlos es mucho mas elegante, yo en mi dia tambien tube que pegarme con los ISP y las IPS dinamicas con el servicio de NO-IP que use para mi hosting casero, y al final opte por una relay de correo atraves del smtp(exim) a google apps, como ha echo Carlos.
hace 2 meses
Hola a todos.
Primero dar las gracias a Carlos por estos estupendos tutos con los que nos obsequia. Más de una cosa he aprendido de ellos. Gracias.
Ya en mi primer servidor corriendo Ubuntu 10.04 LTS tenía mi propio servidor de correo, no iba a ser menos con el segundo, ya con 12.04 LTS.
En ambos casos con IP dinámica, aunque entonces tenía un dominio propio y ahora no, aunque estoy en ello.
De momento tiro con no-ip.org, donde he incluido la opción MX Record. “Enter the name of your external mail exchangers (mx records) as hostnames not IP addresses.
You can add an SPF record with our SPF Wizard.”
Siendo el mismo que el subdominio.
Aunque me falta acabar de escribir la última parte (SSL), del tuto sobre el servidor de correos, aquí dejo el enlace por si puede interesar:
http://asako.no-ip.org/mail
Saludos
hace 2 meses
Muchas gracias nikitto, me alegro que te hayan servido
Un saludo!
hace 2 meses
Buenas,
Nikitto en tu tuto no pones nada de no-ip…estaria bien que lo explicaras.
Carlos, podrias explicar lo mismo pero con la alternativa de microsoft??? La verdad es que me interesaria ya que ahora google apps es de pago.
Me he quedado en el punto de poner los mx en no-ip.org
Gracias
hace 2 meses
Hola,
Me gustaría, pero ahora mismo no tengo nada de tiempo para dedicar a hacer un tutorial. De todas formas, estoy seguro que en Internet encuentras alguno que te lo explique
Un saludo.
hace 2 meses
adsf
El servicio no-ip permite que puedas asignar a tu dominio un registro mx, en este caso se usaba el registro de googleapps, pero al ser este de pago, la unica manera de tener un registro MX es creando tu propio servidoro pagando por el .
Pero como estamos usando ip “dinamica” para enviar correo a las compañias de ISP no les gusta por lo que te marcaran como spammer.
Opciones:
1 http://dyn.com/email/dyn-email-gateway/ (Pago)
2 http://www.openspf.org/Tools (Si tienes dominio propio)
3 Pagar por tener IP “estatica”
En resumen, hay que pagar por tener un registro mx, si no quieres que te metan en una lista de spammers.
hace 2 meses
asdf
Se puede hacer perfectamente con la alternativa que indica Carlos, aqui un tuto
http://foro.miotragus.org/11-tutoriales/configuracion-del-dominio-de-registro-windows-live-domains-27855/
hace 2 meses
Buenas,
gracias a los dos, al final ya lo conseguí y viendo el tutorial veo que lo hice bien.
Intento hacer un relay con postfix pero me da error al mandar los correos, creo que sera tema del tls por los logs pero no veo en ningun sitio por itnernet donde expliquen como hacer relay con live domains de microsoft.
Alguno sabe como hacerlo?
hace 2 meses
Mira a ver si esto te sirve
http://bulma.net/body.phtml?nIdNoticia=2233&nIdPage=last#28437
No puedo ayudarte con la conf de postfix porque yo utilice de MTU exim.
hace 2 meses
Hola Anubys,
Tu comentario había caído en spam. Lo suelo mirar todos los días pero se me había olvidado hacerlo desde hace un par. Me suele llegar bastante, pero menos mal que les echo un ojo a todos por si acaso jeje
Un saludo y gracias por la ayuda que estás brindando
hace 1 mes
Genial post, tendré que ponerlo en práctica. Buen blog, lo sigo.
Saludos
hace 1 mes
Me alegro que te haya gustado!
Y muchas gracias por seguirme, bienvenido
Saludos!