¿Qué es Sendmail?
sendmail es un MTA (agente de transferencia de correo) muy simple y simple, que implementa el SMTP (Protocolo de transferencia de correo Simple) entre otros y se puede usar para transmitir correos electrónicos, generalmente incluso en el VPS KVM más barato que ejecuta Linux., Si bien hay una versión comercial disponible que se llama «Sendmail», el sendmail que estamos cubriendo en este artículo de instrucciones es la versión basada en UNIX, que viene con casi todas las distribuciones de Linux, así como con *BSD (FreeBSD, OpenBSD y variantes). Usar el comando sendmail podría ser la forma más fácil de enviar correos electrónicos a través de Linux shell CLI (Command Line Interface), aparte de mailx, que se puede usar junto con sendmail para hacer aún más fácil enviar y recibir correos desde la línea de comandos., Como el nombre ya sugiere, sendmail solo puede enviar correos electrónicos y no almacenar los recibidos en buzones POP o IMAP.
¿dónde se encuentra Sendmail y sus archivos de configuración?
la primera información interesante que podríamos necesitar para probar sendmail es la ruta del archivo binario que se ejecuta si emitimos el comando sendmail en nuestra línea de comandos., Para averiguarlo, usaremos el comando which como se muestra a continuación:
# which sendmail/usr/sbin/sendmail
la salida anterior significa que la ruta completa al archivo binario de nuestro comando sendmail es/usr/sbin / sendmail que debe tener en cuenta para los pasos más abajo.
si desea ajustar los archivos de configuración de sendmail, normalmente puede encontrarlos en el directorio /etc/mail/ en sistemas UNIX (FreeBSD, OpenBSD) y Linux (CentOS, Fedora, Debian, Ubuntu). El archivo de configuración principal de sendmail es/etc/mail / sendmail.,cf, sin embargo ajustar eso no es parte de este tutorial. Un buen lugar para más información es la página de manual de sendmail, que puede ver ejecutando el comando man sendmail. Ahora a la parte interesante de este tutorial de la línea de comandos de sendmail.
Cómo probar el comando Sendmail en Linux
para probar rápidamente si el comando sendmail está funcionando correctamente para luego usarlo por ejemplo en scripts de shell, a través de la línea de comandos o incluso desde scripts PHP (PHP soporta sendmail para enviar correos electrónicos desde scripts PHP – puede establecer la ruta de sendmail en su php.,ini), puede emitir el siguiente comando en su sistema UNIX o Linux:
echo " Subject: sendmail test | / sendmail-v [email protected]
[email protected] es obviamente la dirección de correo electrónico a la que desea que se envíe el correo electrónico de prueba. Este ejemplo de línea de comandos sendmail enviará un correo electrónico en blanco con el asunto «sendmail test» a [email protected] si la prueba es exitosa. También puede enviar correos electrónicos Más largos que contengan un asunto, cuerpo y encabezados adicionales si lo desea, pero solo para probar si sendmail funciona, normalmente no es necesario. Aún así, aquí es cómo puedes hacer eso:
1.,) Crear un archivo llamado mail.txt (o lo que quieras) en ~ / mail.txt con vim o nano o su editor de texto preferido
2.) Pegue el siguiente contenido en él, pero por supuesto ajustando las direcciones de correo electrónico, ya que estos son solo ejemplos de comandos de sendmail:
a: mi@correo electrónico.comSubject: sendmail prueba dos de: [email protected] y aquí va el cuerpo del correo electrónico, prueba prueba prueba..
3.) Por fin enviamos la plantilla de correo electrónico que acabamos de crear con: sendmail-vt < ~ / mail.,txt
Eso es todo-Ahora puede probar sendmail desde la línea de comandos e incluso enviar correos electrónicos completos incluyendo encabezados desde Linux / UNIX shell. A continuación se muestra un ejemplo de cómo la simple prueba de sendmail podría verse en un sistema en vivo:
Sendmail y Spam
Una cosa que me gustaría agregar es que debido al hecho de que PHP y otros scripts generalmente pueden acceder a los binarios de sendmail, también se puede usar para enviar correos de spam y phishing y eso es lo que puede suceder en servidores compartidos donde las cuentas contraseñas., Si desea averiguar qué script o usuario POSIX está enviando el spam con sendmail, puede emitir el siguiente comando y prestar mucha atención a la salida:
ps faux | grep sendmail
Sendmail Conclusion
mientras que sendmail puede plantear algunos riesgos en sistemas compartidos o inseguros, es un gran MTA ligero que se puede usar para enviar correos electrónicos desde scripts de shell, aplicaciones PHP o incluso directamente la línea de comandos., También negocia automáticamente STARTTLS para la transmisión cifrada de los correos electrónicos si el servidor SMTP remoto lo admite, lo que es una práctica de seguridad útil.