Sendmail (Español)

Sendmail es el clásico agente de transferencia de correo del mundo Unix. Este artículo se basa en Mail server.

Esta traducción de Sendmail fue revisada el 2019-11-21. Si existen cambios puede actualizarla o avisar al equipo de traducción.

El objetivo de este artículo es configurar Sendmail para cuentas de usuarios locales, sin usar MySQL u otra base de datos, y también permitir la creación de cuentas solo de correo .

Instalación

Instale los paquetes sendmailAUR, procmailAUR y m4.

Añadir usuarios

Cree un usuario de Linux para cada usuario que desee recibir correo electrónico en username@your-domain.com. Para añadir cuentas solo de correo, es decir, usuarios que pueden recibir correos electrónicos, pero no pueden tener acceso de shell o iniciar sesión en X, puede agregarlos así:

# useradd -m -s /usr/bin/nologin nombre-de-usuario

Configuración

Obtener certificado TLS

Advertencia: Si implementa TLS, asegúrese de seguir guía de weakdh.org y desactivar SSLv3 para evitar vulnerabilidades. Para obtener más información, consulte Server-side TLS.

Para obtener un certificado, consulte OpenSSL#Usage.

sendmail.cf

Cree el archivo /etc/mail/sendmail.mc. Puede leer todas las opciones para configurar sendmail en el archivo /usr/share/sendmail-cf/README.

Advertencia: Si crea su propio archivo sendmail.mc, recuerde que la autenticación de texto plano mediante non-TLS es muy arriesgada. Utilizar el siguiente ejemplo obliga a utilizar TLS y, por lo tanto, es más seguro, a menos que sepa lo que está haciendo.

He aquí hay un ejemplo usando «auth» mediante TLS. El ejemplo tiene comentarios que explican cómo funciona. Los comentarios comienzan con .

/etc/mail/sendmail.mc
include(`/usr/share/sendmail-cf/m4/cf.m4')
define(`confDOMAIN_NAME', `your-domain.com')dnl
FEATURE(use_cw_file)
dnl  Lo siguiente permite enviar si el usuario se autentica,
dnl  y no permite la autenticación de texto plano (PLAIN/LOGIN) mediante
dnl  enlaces non-TLS:
define(`confAUTH_OPTIONS', `A p y')dnl
dnl
dnl  Aceptar autenticaciones PLAIN y LOGIN:
TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
dnl
dnl Asegúrese de que estas rutas apuntan correctamente a sus archivos cert SSL:
define(`confCACERT_PATH',`/etc/ssl/certs')
define(`confCACERT',`/etc/ssl/cacert.pem')
define(`confSERVER_CERT',`/etc/ssl/certs/server.crt')
define(`confSERVER_KEY',`/etc/ssl/private/server.key')
dnl
FEATURE(`virtusertable', `hash /etc/mail/virtusertable.db')dnl
OSTYPE(linux)dnl
MAILER(local)dnl
MAILER(smtp)dnl

Luego procéselo con:

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

local-host-names

Coloque sus dominios en el archivo local-host-names:

Asegúrese de que los dominios también sean resueltos por su archivo .

access.db

Cree el archivo y coloque allí las direcciones base donde desea poder enviar el correo. Supongamos que tiene una vpn en , y desea enviar correos desde cualquier ip en ese rango:

/etc/mail/access
10.5.0 RELAY
127.0.0 RELAY

Luego procéselo con:

# makemap hash /etc/mail/access.db < /etc/mail/access

aliases.db

Cree el archivo /etc/mail/aliases, descomente la línea y cámbielo para que sea así:

Puede añadir alias para sus nombres de usuario allí, de esta forma:

Luego procéselo con:

# newaliases

virtusertable.db

Cree el archivo y coloque alias que incluyan dominios (útil si su servidor aloja varios dominios):

Luego procéselo con:

# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable

Comenzar en el arranque

Active e inicie los siguientes servicios. Véase Daemons para obtener más detalles.

Autenticación SASL

Añada un usuario a la base de datos SASL para la autenticación SMTP:

# saslpasswd2 -c your-username

Consejos y trucos

Reenviar todo el correo de un dominio a cierto usuario

Para reenviar todo el correo dirigido a cualquier usuario en el dominio my-other.tk a your-username@your-domain.com, añádalo al archivo :

@my-other.tk        your-username@your-domain.com

No olvide procesarlo nuevamente con:

# makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
gollark: I'm sure *you'd* like to think so.
gollark: But if you can't really understand the underlying evidence yourself, which is *really hard*, and you don't trust the "establishment" for whatever reason, you can't really do much else.
gollark: Okay.
gollark: I don't think anywhere near most people are actually equipped to judge how good evidence for something is in this kind of domain.
gollark: Are you sure?
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.