sSMTP (Español)
sSMTP es un programa que entrega correo electrónico desde un ordenador local a un servidor de correo configurado (mailhub). No es un servidor de correo (como si lo es el servidor de correo rico en funciones sendmail) y no recibe correo, ni expande alias, ni administra una cola. Uno de sus usos principales es reenviar el correo electrónico automatizado (como las alertas del sistema) desde su equipo a una dirección de correo electrónico externa.
Reenviar a un servidor de correo de Gmail
Para configurar sSMTP, deberá editar su archivo de configuración (/etc/ssmtp/ssmtp.conf
) e ingresar la configuración de su cuenta.
- Si su cuenta de Gmail está protegida con autenticación de dos factores, debe generar una App Password única para usar en
ssmtp.conf
. Puede hacerlo en su página App Passwords de Google. Use su nombre de usuario de Gmail (no el nombre de la aplicación) en la línea y use la contraseña de 16 caracteres generada en la líneaAuthPass
(se pueden omitir espacios en la contraseña). - Si no usa la autenticación de dos factores, debe permitir el acceso a aplicaciones no seguras. Puede hacerlo en su página Less Secure Apps de Google.
Crear alias para nombres de usuario locales (opcional):
/etc/ssmtp/revaliases
root:username@gmail.com:smtp.gmail.com:587 mainuser:username@gmail.com:smtp.gmail.com:587
Para probar si el servidor de Gmail reenviará correctamente su correo electrónico:
Cambie el texto de 'From' editando para recibir correo de 'root at myhost' en lugar de solo 'root'. Que cambia a:
Seguridad
Debido a que su contraseña de correo electrónico se almacena como texto sin formato en /etc/ssmtp/ssmtp.conf
, es importante que este archivo sea seguro. Por defecto, todo el directorio es accesible solo por root y el grupo mail. El binario se ejecuta como el grupo mail y puede leer este archivo. No hay ninguna razón para agregarse usted u otros usuarios al grupo mail.
Enviar correo electrónico
Para enviar correos electrónicos desde el terminal, haga lo siguiente:
$ echo -e "Subject: this is the subject\n\nthis is the body" | mail user@example.com
o interactivamente como:
$ sendmail username@example.com Subject: este es mi asunto CC: opcional@ejemplo.com (Ahora puede escribir el texto aquí)
Un método alternativo para enviar correos electrónicos es crear un archivo de texto y enviarlo con ssmtp o mail
Envíe el archivo :
$ sendmail -t < test-mail.txt
Algunos usuarios pueden preferir la sintaxis de mail con s-nail, , u otros proveedores de mailx en su lugar. Por ejemplo, mail tiene opciones para proporcionar el «subject» como un argumento. mail requiere sendmail y puede usar ssmtpAUR como sendmail.
Archivos adjuntos
Si necesita agregar archivos adjuntos, instale y configure Mutt y Msmtp y luego vea la sugerencia en nixcraft.
Alternativamente, puede adjuntar usando uuencode de sharutils. Para adjuntar 'file.txt' como 'myfile.txt':
$ uuencode file.txt myfile.txt | sendmail user@example.com
Correo a usuarios locales
Los mensajes enviados a usuarios locales (o cualquier otra dirección que no termine en @fqdn se tratan de una de estas dos maneras:
- el usuario de destino tiene UID < 1000 — la dirección se reemplaza por la dirección definida por en
/etc/ssmtp/ssmtp.conf
; - el usuario de destino tiene UID ≥ 1000 o el usuario es desconocido — el valor de en
/etc/ssmtp/ssmtp.conf
se agrega al final del identificador del usuario.
Esto puede generar problemas si los usuarios locales en su sistema no son también usuarios válidos en su , pero están recibiendo correo de los servicios del sistema, especialmente si su dominio de reescritura es un servicio público como.
Para evitar esto, puede usar mail desde s-nail. La orden mail puede leer los alias definidos en . Ejemplo:
Luego puede canalizar mensajes en mail en lugar de sendmail:
$ echo -e "Hey archuser." | mail archuser