mail

  • Llegué a la oficina y, al revisar los mails que me envían los servidores, descubrí que faltaban los correos de uno de mis servidores OpenBSD. Revisando el log del sistema, las tareas programadas se ejecutaron normalmente pero hubo un problema con el envío de correo.

  • He publicado una nueva versión de mi script mailgun-mta.bash, que ahora soporta el uso de opciones y argumentos de línea de comandos como destinatario, asunto y remitente. Mi idea (tal como mencioné en artículos anteriores) es lograr reemplazar el comando mail por este script. De forma que todo el correo saliente desde un servidor sea a través del servicio en la nube de Mailgun.

  • Diferentes distribuciones GNU/Linux pueden incluir diferentes implementaciones para el comando mail (cliente de correo electrónico) como Mail, Mailx, Heirloom mailx, etc. Típicamente, los agentes (Sendmail, Exim4, Postfix, etc.) incluyen la opción -f, la cual permite cambiar el "from" (remitente del mensaje) al momento de enviar un mensaje. Pero el comando mail (mailx) utiliza esta opción con otro significado, con lo cual no es posible (a simple vista) cambiar el "from".

  • Cuando Exim no puede enviar un correo (entrante o saliente) por alguna razón (por ejemplo, no puede contactar al servidor de correo del destinatario, o el dominio no existe), éste queda en la cola de mensajes del servidor. En artículos anteriores expliqué cómo listar la cola de mensajes de Exim y cómo borrar mensajes, sin embargo Exim no posee una opción o subcomando para vaciar completamente la cola de mensajes pendientes. Por ello, en este artículo explico cómo.

  • Una lista negra (en inglés blacklist) es un mecanismo de control de acceso que se utiliza para impedir o denegar el acceso a un recurso.

    Los servidores de correo electrónico poseen mecanismos de filtrado de spam basados en listas negras para desechar todo el correo proveniente de direcciones sospechosas o maliciosas. Esto se hace para mejorar la experiencia del usuario, optimizar el uso de recursos y prevenir brechas de seguridad. Todo correo proveniente de direcciones o nombres de host que figuran en listas negras es desechado, se previene la llegada a su destino.

    Las listas negras de spam son mantenidas generalmente por organizaciones sin ánimo de lucro, con la única intención de mantener una Internet limpia y segura.

    En ocasiones puede suceder que alguna de las direcciones IP pertenecientes a nuestra organización aparezca en una lista negra. Esto puede ocurrir por diversos motivos: puede que un host en nuestra red haya sido comprometido a través de una brecha de seguridad y luego sido utilizado para enviar spam; una cuenta de un usuario haya sido comprometida y utilizada para enviar spam; algún host fue infectado con malware y está enviado tráfico sospechoso o malicioso hacia Internet; entre otros.

    Sea cual sea el motivo, necesitaremos comprobar si la dirección IP o nombre de host comprometido aparece en alguna blacklist, para luego solicitar la baja o remoción. El problema es que existen muchas listas negras de diferentes organizaciones. Por ello, en este artículo voy a presentarles un servicio que permite verificar en todas las listas negras más importantes con un solo clic.

  • Una de las tareas posteriores a la instalación de Grafana consiste en configurar el protocolo SMTP para el envío de correo electrónico. El envío de correo se utiliza para la gestión de usuarios, notificaciones y para alertas. Esto permite crear e invitar usuarios mediante correo electrónico.

  • Es común, en todo sitio Web de una empresa o corporativo, contar con un formulario de contacto para que los visitantes puedan enviar un mensaje para ponerse en contacto con un representante o realizar una consulta. Al igual que en Wordpress y otros CMS, Joomla! cuenta con decenas de extensiones desarrolladas por terceros para crear formularios de todo tipo, basta con examinar el directorio de extensiones para comprobarlo. Sin embargo, para el caso de un simple formulario de contacto, no es necesario instalar ningún componente, sino que se puede implementar a través del gestor de contactos (Components > Contacts) parte del núcleo de Joomla!

    Este artículo explica cómo crear un formulario de contacto en Joomla! en simples pasos, sin escribir una línea de código PHP ni instalar ningún tipo de extensión.

  • El servicio de correo electrónico suele ser el que más dolores de cabeza nos genera. Entre la configuración del dominio (DNS) y los servicios (SMTP/POP/IMAP), los correos que rebotan, los virus y el SPAM, conforman lo que tal vez sea el peor servicio que le toque administrar a un SysAdmin. Entonces, por qué mejor no delegarlo a los expertos y migrarlo al cloud.

    Este artículo explica cómo configurar un dominio y utilizar la API del servicio Mailgun para enviar correo electrónico de manera programática, sin necesidad de contar con un servidor de correo electrónico para nuestro dominio ni un cliente (MTA). Esta configuración es ideal para nuestros servidores en la nube ya que nos permite desentendernos del servicio de correo y delegar este problema a Mailgun. Por otro lado, migrar el servicio de correo a la nube es beneficioso en el sentido que toda la infraestructura que lo sustenta consume una gran cantidad de recursos (memoria, disco) que tal vez no disponemos.

    Mailgun es un servicio de correo en la nube para desarrolladores, que nos permite enviar y recibir correo desde una API a través de HTTPS. Lo mejor de todo es que Mailgun nos permite enviar de manera gratuita hasta 10.000 correos por mes.

    A continuación voy a demostrar cómo dar de alta una cuenta de Mailgun, cómo configurar un dominio correctamente para enviar correo a través de Mailgun, y cómo enviar correo desde un script Bash a través de HTTPS.

  • En un viejo artículo expliqué cómo enviar mail desde línea de comandos, algo útil cuando necesitamos que un script Bash nos envíe un correo. Ahora comparto una solución para enviarlo en formato HTML.

  • Hoy me tocó hacer pruebas de correo saliente con Exim 4 instalado en un servidor Debian 6.0.2. Básicamente tenía que determinar si los mails salían y si eran recibidos o rebotados. El procedimiento es sencillo.

    Primero se debe abrir el log principal de Exim en una consola usando tail con la opción '-f':

    tail -f /var/log/exim4/mainlog
  • En este artículo voy a explicar paso a paso cómo hospedar o delegar el servicio de correo electrónico de un dominio (email hosting) en Yandex de manera simple y además gratis. Solución que hace algunos años era posible implementar de manera gratuita en Google Apps, pero que ahora tiene un costo (actualmente 50 dólares por usuario por año). Esta es una solución ideal para pequeñas pymes o startups, que permite disponer de correo electrónico para un dominio rápidamente y sin invertir un peso.

  • Esta es una configuración que puede ser muy útil para detectar el envío de spam a través de nuestro servidor Web mediante scripts PHP. PHP permite registrar un evento en un log cada vez que un script PHP envía un correo electrónico utilizando la función mail().

  • Hace un tiempo migré una de mis instalaciones de MediaWiki hacia un servidor Web OpenBSD con PHP. En esa tarea me había quedado pendiente resolver un inconveniente con el envío de mails desde PHP, el cual me impedía resetear contraseñas de MediaWiki mediante el método tradicional de envío por correo electrónico. Como no era un problema urgente ni crítico lo dejé de lado, pero tarde o temprano un usuario de la Wiki tuvo la necesidad de resetear su contraseña. Con lo cual tuve que resolver el problema de una vez por todas.

  • Anteriormente presenté el servicio de correo en la nube Mailgun, que nos permite enviar y recibir correo desde una API a través de HTTPS sin necesidad de contar con un servidor ni cliente de correo electrónico. Una maravilla para administradores de sistemas y desarrolladores de software que necesitamos enviar correo de manera programática (notificaciones de aplicaciones Web, reset de contraseñas, alertas de sistemas de monitoreo, resúmenes diarios de actividad y logs, etc.)

    En esta oportunidad voy a compartir un pequeño script Bash que he desarrollado para enviar los correos de Logwatch a través de Mailgun. Este script (que está aún muy verde y en fase pre-alpha) es una especie de MTA que emula el comportamiento del comando sendmail -t. Es decir, toma todo lo necesario para enviar el mensaje desde entrada estándar (destinatario, asunto y remitente desde los headers SMTP en lugar de como argumentos de línea de comandos).