sSMTP (Español)

Esta traducción de
sSMTP
fue revisada el
2020-12-07
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
OpenSMTPD
msmtp
S-nail
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.
Nota
sSMTP está desatendido Considere usar algo como
msmtp
o
OpenSMTPD
en su lugar.
Instalación
Instale
el paquete
ssmtp
AUR
.
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
AuthUser
y use la contraseña de 16 caracteres generada en la línea
AuthPass
(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.
/etc/ssmtp/ssmtp.conf
# El usuario que recibe todos los correos (UID <1000, generalmente el administrador)
root=username@gmail.com

# El servidor de correo (donde se envía el correo), tanto el puerto 465 como el 587 deberían ser aceptables
# Véase también https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587

# La dirección de donde proviene el correo para la autenticación del usuario
rewriteDomain=gmail.com

# El nombre de equipo completo. Debe estar formado correctamente el nombre de dominio completo o GMail rechazará la conexión.
hostname=yourlocalhost.yourlocaldomain.tld

# Utilice SSL/TLS antes de comenzar la negociación
TLS_CA_FILE=/etc/ssl/certs/ca-certificates.crt
UseTLS=Yes
UseSTARTTLS=Yes

# Usuario/Contraseña
AuthUser=username
AuthPass=password
AuthMethod=LOGIN

# 'From header' del correo electrónico, ¿puede sobrescribir el dominio predeterminado?
FromLineOverride=yes
Nota
Tenga en cuenta que la configuración que se muestra es un ejemplo para Gmail. Puede que tenga que usar otras configuraciones. Si no funciona como se esperaba, lea la página de manual
ssmtp(8)
.
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:
$ echo -e 'Subject: prueba\n\nProbando los ajustes' | sendmail -v tousername@example.com
Cambie el texto de 'From' editando
/etc/passwd
para recibir correo de 'root at myhost' en lugar de solo 'root'.
# chfn -f 'root at myhost' root
# chfn -f 'mainuser at myhost' mainuser
Que cambia
/etc/passwd
a:
$ grep myhost /etc/passwd
root:x:0:0:root at myhost,,,:/root:/bin/bash
mainuser:x:1000:1000:mainuser at myhost,,,:/home/mainuser:/bin/bash
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
/etc/ssmtp
es accesible solo por root y el grupo mail. El binario
/usr/bin/ssmtp
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í)
Nota
Cuando utilice «mail» de forma interactiva, después de escribir
Subject: asunto
y otros encabezados, presione «intro» dos veces y luego escriba el texto.
Presione
Ctrl
+
d
en una línea en blanco para finalizar su mensaje y enviarlo automáticamente.
Un método alternativo para enviar correos electrónicos es crear un archivo de texto y enviarlo con
ssmtp
o
mail
test-mail.txt
To:nombreusuario@ejemplo.com
From:sucuenta@gmail.com
Subject: Prueba

Este es un correo de prueba.
Envíe el archivo
test-mail.txt
:
$ sendmail -t < test-mail.txt
Algunos usuarios pueden preferir la sintaxis de
mail
con
s-nail
,
mailutils
, 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
ssmtp
AUR
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
root=user@fqdn
en
/etc/ssmtp/ssmtp.conf
;
el usuario de destino tiene UID ≥ 1000 o el usuario es desconocido — el valor de
rewriteDomain=
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
rewriteDomain
, pero están recibiendo correo de los servicios del sistema, especialmente si su dominio de reescritura es un servicio público como
gmail.com
.
Para evitar esto, puede usar
mail
desde
s-nail
. La orden
mail
puede leer los alias definidos en
/etc/mail.rc
. Ejemplo:
$ grep alias /etc/mail.rc
alias git git<username@example.com>
alias archuser 'My Name'<someone@example.com>
Luego puede canalizar mensajes en
mail
en lugar de
sendmail
:
$ echo -e "Hey archuser." | mail archuser
Nota
Es posible que tenga la tentación de vincular
sendmail
a
/bin/mail
. No haga eso.
sendmail
y
mail
tienen una sintaxis diferente para los argumentos y la entrada estándar. Es mejor encontrar los procesos que utiliza «sendmail» directamente y configurarlos para usar «mail» en su lugar.
Referencias
SSMTP y Gmail en los foros de Arch
Enviar correo electrónico desde su sistema con sSMTP
La guía Qnd para ssmtp
Soporte de GMail — Configuración de otros clientes de correo