Qué hace este módulo #
Muchas cosas del servidor te avisan por correo: un certificado que caduca, un disco que se llena, el informe de una tarea nocturna. Pero un servidor recién instalado no sabe enviar ese correo — o lo intenta directamente y acaba en la carpeta de spam, cuando no rechazado del todo.
El módulo smtp resuelve eso configurando el correo saliente del host contra un smarthost (un relay que sí está autorizado a entregar: Amazon SES, un servidor de correo corporativo, tu proveedor…). Ajusta postfix para que reenvíe todo el correo del sistema a ese smarthost, guarda la contraseña de forma segura, reescribe el remitente para que sea uno válido y te deja probar el envío para confirmar que llega — reportándote el error real si algo falla.
Ten a mano los datos del smarthost: host, puerto (normalmente 587), y las credenciales si requiere autenticación. La contraseña no se pasa en la línea de comandos: se lee por stdin o del almacén de secretos, así no queda en el historial.
Tareas comunes #
Elige lo que quieres hacer. Cada receta trae el comando ya escrito — solo cambia el smarthost y el remitente por los tuyos, y pulsa Copiar.
1
Configurar el relay de correo
Apunta el servidor a tu smarthost para que el correo salga de verdad.
Conéctate por SSH a tu servidor con el usuario ubuntu.
Lanza el comando con los datos de tu smarthost. La contraseña se pide por stdin, así que no queda en el historial:
$ sudo imaxe smtp configure \
--host email-smtp.eu-west-1.amazonaws.com \
--user AKIAIOSFODNN7EXAMPLE \
--from [email protected]Si tu smarthost no pide autenticación, omite --user. Para un puerto o modo TLS distintos, añade --port o --no-tls.
[email protected]. Continúa con la receta Enviar un correo de prueba.2
Enviar un correo de prueba
Confirma que un mensaje sale y llega antes de fiarte de las alertas.
Envía un correo de prueba a una dirección donde puedas comprobarlo:
$ sudo imaxe smtp test --to [email protected]Si omites --to, se envía al remitente configurado. Revisa tu bandeja (y la carpeta de spam) para confirmar la entrega.
3
Ver el estado del correo
Comprueba de un vistazo si el relay está configurado y activo.
Un resumen del relay, el smarthost, el remitente y el estado del MTA:
$ sudo imaxe smtp status¿Lo quieres para un script o un panel? Añade --json para una salida legible por máquina:
$ sudo imaxe smtp status --json4
Ver la configuración efectiva
Consulta los ajustes activos sin exponer la contraseña.
Muestra host, puerto, usuario, remitente y modo TLS que están realmente en uso (la contraseña nunca se imprime):
$ sudo imaxe smtp show5
Quitar el relay
Deshabilita el reenvío y devuelve postfix a su estado anterior.
Deshabilita el relay de correo saliente y restaura la configuración base de postfix:
$ sudo imaxe smtp removeconfigure.Lo más habitual es que el remitente no esté verificado en el smarthost (SES exige verificar el dominio o la dirección de --from), o que las credenciales sean incorrectas. Lanza imaxe smtp test: te devuelve el error real del MTA para saber exactamente qué ajustar.
Sinopsis #
imaxe smtp <subcomando> [--host HOST] [--from CORREO] [flags]Todos los subcomandos requieren privilegios de root (usa sudo) porque tocan la configuración de postfix, escriben en /etc/imaxe/ y recargan servicios del sistema. La contraseña del smarthost nunca se pasa como flag: se lee por stdin o del almacén de secretos. Añade --json a status o show para obtener salida legible por máquina, apta para scripting.
Subcomandos #
| Subcomando | Qué hace | Flags relevantes |
|---|---|---|
| configure | Configura el relay de correo saliente contra un smarthost. La contraseña se lee por secrets/stdin. | --host, --port, --user, --from, --tls / --no-tls |
| test | Envía un correo de prueba y reporta el error real del MTA si falla. | --to |
| status | Estado: relay configurado, smarthost, remitente y MTA activo. | --json |
| show | Muestra la configuración efectiva, sin exponer la contraseña. | --json |
| remove | Deshabilita el relay y restaura postfix. | — |
Argumentos y flags #
| Flag | Tipo | Por defecto | Descripción |
|---|---|---|---|
| --host req. | string | — | Smarthost SMTP al que reenviar el correo (p. ej. email-smtp.eu-west-1.amazonaws.com). Obligatorio en configure. |
| --port | int | 587 | Puerto SMTP del smarthost. |
| --user | string | — | Usuario SMTP para autenticarse. Si se omite, el relay se configura sin autenticación. |
| --from | string | — | Reescribe el remitente de todos los mensajes (sender_canonical). Útil para usar una dirección verificada en el smarthost. |
| --tls / --no-tls | bool | --tls | Fuerza TLS en la conexión con el smarthost (por defecto). --no-tls lo desactiva. |
| --to | string | remitente | En test: destinatario del correo de prueba. Por defecto, el remitente configurado. |
| --json | bool | false | En status/show, emite el resultado como JSON en stdout. |
No existe una opción --password. La credencial se lee por stdin durante configure o del almacén de secretos (password_secret, por defecto smtp), de modo que nunca aparece en el historial ni en la tabla de procesos.
Ficheros y rutas #
| Ruta | Contenido |
|---|---|
| /etc/imaxe/smtp.yml | Configuración del módulo: host, puerto, TLS, usuario, remitente y referencia al secreto de la contraseña. |
| /etc/postfix/main.cf | Configuración de postfix que el módulo ajusta para el reenvío (relayhost, canonical del remitente…). |
| /var/log/mail.log | Registro de postfix con cada intento de entrega y el motivo de los rechazos. |
Ejemplo de smtp.yml:
enabled: true
host: email-smtp.eu-west-1.amazonaws.com
port: 587
tls: true
username: AKIAIOSFODNN7EXAMPLE
from: [email protected]
password_secret: smtpCódigos de salida y logs #
Cada ejecución devuelve un código que puedes comprobar con echo $? — útil para encadenar en scripts:
test, el correo se aceptó para entrega.Sigue el log de correo en vivo mientras depuras un envío:
$ sudo tail -f /var/log/mail.log
$ sudo imaxe smtp test --to [email protected]Resolución de problemas #
| Síntoma | Causa probable | Solución |
|---|---|---|
| Sale AUTH (código 4) | Usuario o contraseña del smarthost incorrectos. | Revisa --user y vuelve a lanzar configure introduciendo de nuevo la contraseña por stdin. |
| Sale SEND (código 5), remitente rechazado | La dirección de --from no está verificada en el smarthost (típico en SES). | Verifica el dominio o la dirección en el proveedor y reintenta el test. |
| Sale CONFIG (código 3) | El relay aún no está configurado en este host. | Lanza imaxe smtp configure con los datos del smarthost. |
| El correo sale pero llega a spam | Falta alinear SPF/DKIM en el dominio del remitente. | Configura los registros del proveedor de correo para el dominio de --from. |
¿Te atascaste con el módulo Correo?
Escríbenos con la salida de «imaxe <módulo> status --json» y te respondemos rápido.