Correo electrónico

The Email module is split in three main parts:

  • Servidor SMTP para enviar y recibir [1]
  • Servidor IMAP y POP3 para leer el correo electrónico [2], y el lenguaje Sieve para organizarlo [3]
  • Filtro anti-spam, antivirus y bloqueador de archivos adjuntos [4]

Los beneficios son

  • autonomía completa en la gestión del correo electrónico
  • evitar problemas por el Proveedor de Servicios de Internet
  • capacidad de seguimiento de la ruta de los mensajes con el fin de detectar errores
  • análisis antivirus y antispam optimizados

Consulte también los siguientes temas relacionados:

  • Cómo funciona el correo electrónico [5]
  • Registro MX DNS [6]
  • Simple Mail Transfer Protocol (SMTP) [7]

Dominios

NethServer puede manejar un número ilimitado de dominios de correo, configurable desde la página Correo electrónico > Dominios. Para cada dominio hay dos alternativas:

  • Entregar mensajes a buzones locales, de acuerdo con el formato Maildir [8].
  • Retransmitir mensajes a otro servidor de correo.

Nota

Si se elimina un dominio, el correo electrónico no se eliminará; Se conserva cualquier mensaje recibido.

NethServer allows storing an hidden copy of all messages directed to a particular domain: they will be delivered to the final recipient and also to a local user (or group). The hidden copy is enabled by the Always send a copy (Bcc) check box.

Advertencia

En algunos países, habilitar la opción Enviar siempre una copia (Cco) puede estar en contra de las leyes de privacidad.

NethServer puede automáticamente añadir un aviso legal a los mensajes enviados. Este texto se llama renuncia y puede utilizarse para cumplir con algunos requisitos legales. Tenga en cuenta firma y renuncia son conceptos muy diferentes.

La firma debe insertarse dentro del texto del mensaje sólo por el cliente de correo (MUA, Mail User Agent): Outlook, Thunderbird, etc. Normalmente es un texto definido por el usuario que contiene información como direcciones de remitente y números de teléfono.

Ejemplo de firma:

John Smith
President | My Mighty Company | Middle Earth
555-555-5555 | john@mydomain.com | http://www.mydomain.com

La «renuncia» es un texto fijo y solo puede ser adjunto (no añadido) a los mensajes del servidor de correo.

Esta técnica permite mantener la integridad del mensaje en caso de firma digital.

Ejemplo de renuncia:

This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed.  If you have received this email in error please
notify the system manager.  This message contains confidential
information and is intended only for the individual named.

El texto de la renuncia puede contener el código Markdown [9] para dar formato al texto.

Correos electrónicos

The system enables the creation of an unlimited number of email addresses, also known as pseudonyms, from the Email addresses page. Each address is associated with a system user or group owning a mailbox (see User and group mailboxes). It can be enabled on all configured domains or only on specific domains. For example:

  • Primer dominio: mydomain.net
  • Segundo dominio: example.com
  • La dirección de correo electrónico info es válida para ambos dominios: info@mydomain.net, info@example.com
  • Dirección de correo electrónico goofy válido sólo para un dominio: goofy@example.com

A veces una compañía prohíbe las comunicaciones de fuera de la organización usando direcciones de correo electrónico personales. La opción Sólo red local bloquea la posibilidad de una dirección para recibir correo electrónico desde el exterior. Sin embargo, la dirección «sólo de red local» se puede utilizar para intercambiar mensajes con otras cuentas del sistema.

When creating a new account from the Users or Groups page, the system suggests a default email address for each configured mail domain.

For instance, creating a new account for user Donald Duck:

User and group mailboxes

Email messages delivered to a user or group account, as configured from the Correos electrónicos page, are written to a disk location known as mailbox.

When the Email module is installed, existing user and group accounts do not have a mailbox. It must be explicitly enabled from the Users > Services or Groups > Services tab. Instead, newly created accounts have this option enabled by default.

From the same Services page under Users or Groups it can be defined an external email address where to Forward messages. Optionally, a copy of the message can be stored on the server.

When an address is associated with a group, the server can be configured to deliver mail in two ways, from the Groups > Services tab:

  • send a copy to each member of the group
  • store the message in a shared folder. This option is recommended for large groups receiving big messages.

Advertencia

Deleting a user or group account erases the associated mailbox!

The Email > Mailboxes page controls what protocols are available to access a user or group mailbox:

  • IMAP [10] (recomendado)
  • POP3 [11] (obsoleto)

Por razones de seguridad, todos los protocolos requieren el cifrado STARTTLS de forma predeterminada. El comando Permitir conexiones sin cifrar, desactiva este requisito importante y permite pasar contraseñas y contenido de correo de texto claro en la red.

Advertencia

¡No permita conexiones no cifradas en entornos de producción!

From the same page, the disk space of a mailbox can be limited to a quota. If the mailbox quota is enabled, the Dashboard > Mail quota page summarizes the quota usage for each user. The quota can be customized for a specific user in Users > Edit > Services > Custom mailbox quota.

Messages marked as spam (see Filtro) can be automatically moved into the junkmail folder by enabling the option Move to «junkmail» folder. Spam messages are expunged automatically after the Hold for period has elapsed. The spam retention period can be customized for a specific user in Users > Edit > Services > Customize spam message retention.

The admin user can impersonate another user, gaining full rights to the latter’s mailbox contents and on folder permissions. The Admin can log in as another user option controls this empowerment, known also as master user in [2].

When Admin can log in as another user is enabled, the IMAP server accepts any user name with *admin suffix appended and admin’s password.

For instance, to access as john with admin’s password secr3t, use the following credentials:

  • username: john*admin
  • Contraseña: secr3t

Mensajes

Desde la página Correo electrónico > Mensajes, el cursor Máximo tamaño del mensajes de cola ajusta el tamaño máximo de los mensajes que atraviesan el sistema. Si se excede este límite, un mensaje no puede entrar en el sistema en absoluto y se rechaza.

Una vez que un mensaje entra en NethServer, se mantiene en una cola, esperando la entrega final o la retransmisión. Cuando NethServer retransmite un mensaje a un servidor remoto, pueden producirse errores. Por ejemplo,

  • La conexión de red falla, o
  • El otro servidor está inactivo o está sobrecargado.

Estos y otros errores son temporales: en tales casos, NethServer intenta volver a conectar el host remoto a intervalos regulares hasta que se alcance un límite. El control deslizante Vida del mensaje de cola cambia este límite. De forma predeterminada, se establece en 4 días.

Mientras los mensajes están en la cola, el administrador puede solicitar un intento inmediato de retransmisión de mensajes, pulsando el botón Intento de envío desde la página Correo electrónico > Gestión de colas. De lo contrario, el administrador puede eliminar de forma selectiva los mensajes en cola o vaciarla con el botón Borrar todo.

Para mantener una copia oculta de cualquier mensaje que atraviese el servidor de correo, active la casilla de verificación Enviar siempre una copia (Cco). Esta característica es diferente de la misma casilla de verificación en Correo electrónico > Dominio, ya que no diferencia entre dominios de correo y captura también cualquier mensaje saliente.

Advertencia

En algunos países, habilitar la opción Enviar siempre una copia (Cco) puede estar en contra de las leyes de privacidad.

La opción Enviar usando un host inteligente, obliga a dirigir todos los mensajes salientes a través de un servidor SMTP especial, llamado técnicamente smarthost. Un smarthost acepta transmitir mensajes bajo algunas restricciones. Se podría comprobar:

  • La dirección IP del cliente,
  • Las credenciales SMTP AUTH del cliente.

Nota

Por lo general, no se recomiendan envíos a través de smarthost. Puede ser utilizado sólo si el servidor está temporalmente en la lista negra [12], o el acceso SMTP normal está restringido por el ISP.

Filtro

Todos los mensajes de correo electrónico en tránsito están sujetos a una lista de comprobaciones que se pueden activar selectivamente en la página: Correo electrónico > Filtro

  • Bloque de archivos adjuntos
  • Anti-virus
  • Anti-spam

Bloque de archivos adjuntos

El sistema puede inspeccionar los archivos adjuntos de correo, denegando el acceso a mensajes que contengan formatos de archivo prohibidos. El servidor puede comprobar las siguientes clases de datos adjuntos:

  • ejecutables (eg. exe, msi)
  • archivos (eg. zip, tar.gz, docx)
  • Lista de formato de archivo personalizado

El sistema reconoce los tipos de archivo mirando su contenido, independientemente del nombre del archivo adjunto. Por lo tanto, es posible que el archivo MS Word (docx) y OpenOffice (odt) estén bloqueados porque en realidad también son archivos zip.

Anti-virus

El componente antivirus detecta mensajes de correo electrónico que contienen virus. Los mensajes infectados se descartan. La base de datos de firmas de virus se actualiza periódicamente.

Anti-spam

El componente anti-spam [14] analiza los correos electrónicos detectando y clasificando mensajes spam [13] usando criterios heurísticos, reglas predeterminadas y evaluaciones estadísticas sobre el contenido de los mensajes. Las reglas son públicas y se actualizan regularmente. El filtro también puede comprobar si el servidor remitente aparece en una o más listas negras (DNSBL). Una puntuación está asociada a cada regla.

La puntuación total de spam recogida al final del análisis permite al servidor decidir si rechazar el mensaje o marcarlo como spam y entregarlo de todos modos. Los umbrales de puntuación se controlan mediante los siguientes controles Umbral de spam y Denegar el umbral de spam de mensajes en la página Correo electrónico > Filtro.

Los mensajes marcados como spam tienen una cabecera especial X-Spam-Flag: SI. La opción Añadir un prefijo al asunto de los mensajes de spam hace que el indicador de spam sea visible en el asunto del mensaje, prefijando la cadena dada al encabezado``Asunto``.

Los filtros estadísticos, llamados Bayesian [15], son reglas especiales que evolucionan y se adaptan rápidamente al análisis de mensajes marcados como spam o ham.

The statistical filters can then be trained with any IMAP client by simply moving a message in and out of the junkmail folder. As prerequisite, the junkmail folder must be enabled from Email > Mailboxes page by checking Move to «junkmail» folder» option.

  • By putting a message into the junkmail folder, the filters learn it is spam and will assign an higher score to similar messages.
  • On the contrary, by getting a message out of junkmail, the filters learn it is ham: next time a lower score will be assigned.

De forma predeterminada, todos los usuarios pueden entrenar los filtros utilizando esta técnica. Si existe un grupo llamado spamtrainers, sólo los usuarios de este grupo podrán entrenar los filtros.

Nota

It is a good habit to frequently check the junkmail folder in order to not losing email wrongly recognized as spam.

Si el sistema no reconoce el spam correctamente incluso después del entrenamiento, las listas blancas y listas negras pueden ayudar. Esas son listas de direcciones de correo electrónico o dominios respectivamente siempre permitidos y siempre bloqueados para enviar o recibir mensajes.

La sección Reglas por correo electrónico permite crear tres tipos de reglas:

  • Bloquear de: cualquier mensaje del remitente especificado está bloqueado
  • Permitir de: se acepta cualquier mensaje del remitente especificado
  • Permitir a: se acepta cualquier mensaje al destinatario especificado

Es posible crear una regla de «Permitir» o «Bloquear» incluso para un dominio de correo electrónico completo, no sólo para una dirección de correo electrónico única: solo necesita especificar el dominio deseado (por ejemplo: nethserver.org).

Nota

Las verificaciones de antivirus se aplican a pesar de la configuración de lista blanca.

Bloquear el puerto 25

Si el sistema actúa como puerta de enlace de red, las zonas verde y azul no podrán enviar correo a servidores externos a través del puerto 25 (SMTP). El bloqueo del puerto 25 podría impedir que las máquinas controladas remotamente dentro de la LAN enviasen SPAM.

El administrador puede cambiar esta política creando una regla de firewall personalizada dentro de la página Reglas.

Configuración del cliente

El servidor admite clientes de correo electrónico estándar que cumplan con los siguientes puertos IANA:

  • imap/143
  • pop3/110
  • smtp/587
  • sieve/4190

La autenticación requiere el comando STARTTLS y admite las siguientes variantes:

  • LOGIN
  • PLAIN

También los siguientes puertos habilitados para SSL están disponibles para software heredado que aún no admite STARTTLS:

  • imaps/993
  • pop3s/995
  • smtps/465

Advertencia

El puerto estándar SMTP 25 está reservado para transferencias de correo entre servidores MTA. En los clientes sólo utilizan puertos de envío.

Si NethServer actúa también como servidor DNS en la LAN, registra su nombre como registro MX junto con los siguientes alias:

  • smtp.<domain>
  • imap.<domain>
  • pop.<domain>
  • pop3.<domain>

Por ejemplo:

  • Dominio: mysite.com
  • Hostname: mail.mysite.com
  • MX record: mail.mysite.com
  • Aliases disponibles: smtp.mysite.com, imap.mysite.com, pop.mysite.com, pop3.mysite.com.

Nota

Algunos clientes de correo electrónico (por ejemplo, Mozilla Thunderbird) pueden utilizar alias de DNS y registro MX para configurar automáticamente las cuentas de correo electrónico simplemente escribiendo la dirección de correo electrónico.

Para deshabilitar MX locales y alias, acceda a la consola de root y escriba:

config setprop postfix MxRecordStatus disabled
signal-event nethserver-hosts-update

Políticas especiales de acceso SMTP

La configuración predeterminada de NethServer requiere que todos los clientes utilicen el puerto de envío (587) con cifrado y autenticación habilitados para enviar correo a través del servidor SMTP.

Para facilitar la configuración de los entornos heredados, la página Correo electrónico > Acceso SMTP permite realizar algunas excepciones en la directiva de acceso SMTP predeterminada.

Advertencia

¡No cambie la política predeterminada en nuevos entornos!

Por ejemplo, hay algunos dispositivos (impresoras, escáneres, …) que no son compatibles con la autenticación SMTP, el cifrado o la configuración de puertos. Estos pueden estar habilitado para enviar mensajes de correo electrónico por lista de su dirección IP en: guilabel:Permitir la retransmisión de direcciones IP area de texto

Además, bajo Opciones avanzadas hay otras opciones:

  • La opción Permitir la retransmisión desde redes de confianza permite a cualquier cliente de las redes de confianza enviar mensajes de correo electrónico sin ninguna restricción.
  • La opción Habilitar la autenticación en el puerto 25 permite a los clientes SMTP autenticados enviar mensajes de correo electrónico también en el puerto 25.

HELO personalizada

El primer paso de una sesión SMTP es el intercambio de comando HELO (o EHLO). Este comando toma un nombre de servidor válido como parámetro requerido (RFC 1123).

NethServer y otros servidores de correo intentan reducir el spam al no aceptar dominios HELO que no estén registrados en un DNS público.

Al hablar con otro servidor de correo, NethServer utiliza su nombre de host completo (FQDN) como el valor para el comando HELO. Si el FQDN no está registrado en el DNS público, el HELO se puede fijar estableciendo un apoyo especial. Por ejemplo, asumiendo que «myhelo.example.com» es el registro DNS registrado públicamente, escriba los siguientes comandos:

config setprop postfix HeloHost myhelo.example.com
signal-event nethserver-mail-common-save

Esta configuración también es valiosa si el servidor de correo está utilizando un servicio DNS dinámico gratuito.

Email in Active Directory

The Email module integrates with an Active Directory (AD) environment, if Active Directory member role is enabled in Windows Network page.

Make sure LDAP accounts branch in Windows Network page is actually set to the LDAP branch where email users and groups are placed.

This is an example of an user entry in AD LDAP (some attributes omitted):

dn: CN=John Smith,OU=Sviluppo,OU=Nethesis,DC=adnethesis,DC=it
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: John Smith
sn: Smith
givenName: John
distinguishedName: CN=John Smith,OU=Sviluppo,OU=Nethesis,DC=adnethesis,DC
 =it
instanceType: 4
displayName: John Smith
memberOf: CN=sviluppo,OU=Nethesis,DC=adnethesis,DC=it
memberOf: CN=secgroup,OU=Nethesis,DC=adnethesis,DC=it
memberOf: CN=tecnici,OU=Nethesis,DC=adnethesis,DC=it
name: John Smith
primaryGroupID: 513
sAMAccountName: john.smith
sAMAccountType: 805306368
userAccountControl: 66048
userPrincipalName: john.smith@adnethesis.it
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=adnethesis,DC=it
mail: john@adnethesis.it
otherMailbox: smtp:js@adnethesis.it
proxyAddresses: smtp:j.smith@adnethesis.it

To make NethServer work with the external LDAP database provided by Active Directory, the following rules applies:

  1. Only enabled accounts are considered (userAccountControl attribute).
  2. IMAP and SMTP login name is the value of sAMAccountName attribute.
  3. Email addresses associated with an user are the values of mail, otherMailbox and proxyAddresses attributes. The last two attributes expect a smtp: prefix before the actual value. Also userPrincipalName is considered an email address, by default; this can be disabled (see commands below).
  4. A group email address is the value of its mail attribute. By default any group is treated as a distribution list: a copy of the email is delivered to its members.
  5. The domain part of email addresses specified by the above attributes must match a configured domain, otherwise it is ignored.

To configure security groups as shared folders globally, type the following commands at root’s console:

config setprop postfix AdsGroupsDeliveryType shared
signal-event nethserver-samba-save

Advertencia

Avoid AD group names containing uppercase letters with shared folder: IMAP ACLs does not work properly. See BUG#2744.

To avoid the userPrincipalName attribute to be considered as a valid email address, type the following commands at root’s console:

config setprop postfix AdsMapUserPrincipalStatus disabled
signal-event nethserver-samba-save

Correo eliminado de Outlook

A diferencia de casi cualquier cliente IMAP, Outlook no mueve los mensajes eliminados a la papelera, pero simplemente los marca como «eliminados».

Es posible mover automáticamente mensajes dentro de la papelera utilizando los siguientes comandos:

config setprop dovecot DeletedToTrash enabled
signal-event nethserver-mail-server-save

También debe cambiar la configuración de Outlook para ocultar mensajes eliminados de la carpeta Bandeja de entrada. Esta configuración está disponible en el menú de opciones.

Registro

Cada operación del servidor de correo se guarda en los siguientes archivos de registro:

  • /var/log/maillog registra todas las transacciones de correo
  • /var/log/imap contiene las operaciones de inicio de sesión y cierre de sesión de los usuarios

Una transacción registrada en el archivo maillog normalmente implica diferentes componentes del servidor de correo. Cada línea contiene respectivamente

  • La marca de tiempo,
  • El nombre de host,
  • El nombre del componente y el ID de proceso de la instancia de componente
  • Un mensaje de texto que detalla la operación

Here follows a brief description of the component names and the typical actions performed.

transfer/smtpd

This is the public-facing SMTP daemon, listening on port 25. A log line from this component identifies an activity involving another Mail Transfer Agent (MTA).

submission/smtpd

This is the SMTP daemon listening on submission port 587 and smtps port 465. A log line from this component identifies a Mail User Agent (MUA) that sends an email message.

amavis

The Amavis SMTP daemon enforces all mail filtering rules. It decides what is accepted or not. Log lines from this component detail the filter decisions.

queue/smtpd

This is an internal SMTP daemon, accessible only from the local system. It receives and queues good messages from Amavis.

relay/smtp

This is the SMTP client talking to a remote server: it picks a message from the queue and relays it to the remote server, as specified by the mail domain configuration.

delivery/lmtp

Messages directed to local accounts are picked up from the queue and transferred to the local Dovecot instance.

dovecot

The Dovecot daemon delivers messages into users mailboxes, possibly applying Sieve filters.

Una imagen de todo el sistema está disponible en workaround.org [16].

Referencias

[1]Postfix mail server http://www.postfix.org/
[2](1, 2) Dovecot Secure IMAP server http://www.dovecot.org/
[3]Sieve mail filtering language http://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)
[4]MTA/content-checker interface http://www.ijs.si/software/amavisd/
[5]Email, http://en.wikipedia.org/wiki/Email
[6]The MX DNS record, http://en.wikipedia.org/wiki/MX_record
[7]SMTP, http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol
[8]The Maildir format, http://en.wikipedia.org/wiki/Maildir
[9]The Markdown plain text formatting syntax, http://en.wikipedia.org/wiki/Markdown
[10]IMAP http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol
[11]POP3 http://en.wikipedia.org/wiki/Post_Office_Protocol
[12]DNSBL http://en.wikipedia.org/wiki/DNSBL
[13]SPAM http://en.wikipedia.org/wiki/Spamming
[14]Página de inicio de Spamassassin http://wiki.apache.org/spamassassin/Spam
[15]Bayesian filtering http://en.wikipedia.org/wiki/Naive_Bayes_spam_filtering
[16]The wondrous Ways of an Email https://workaround.org/ispmail/lenny/bigpicture