Control de cabeceras para amavis-new
Enviado por miguelcarmona :: 18 de mayo de 2010
A partir de la versión 2.4.4 de amavisd-new, podemos apreciar en sus release notes una nueva configuración para verificar los tipos de cabeceras (headers) permitidos o no.
Para desactivar determinadas comprobaciones de cabeceras en amavis, editaremos el archivo amavisd.conf (normalmente en /etc/amavisd.conf o /etc/amavis/amavisd.conf), estableciendo los parámetros necesarios a 0 (cero).
Por ejemplo, para desactivar la comprobación de que no esté codificada en 8-bit los caracteres de la cabecera:
$allowed_header_tests{'8bit'} = 0;
min | name | description |
---|---|---|
0 | other | (catchall for everything else, normally not used) |
1 | mime | Bad MIME (sub)headers or bad MIME structure |
2 | 8bit | Invalid non-encoded 8-bit characters in header |
3 | control | Invalid control characters in header (CR or NUL) |
4 | empty | Folded header field made up entirely of whitespace |
5 | long | Header line longer than RFC 2822 limit of 998 characters |
6 | syntax | Header field syntax error |
7 | missing | Missing required header field |
8 | multiple | Duplicate or multiple occurrence of a header field |
legend:
- ccat min: minor contents category under a major category CC_BADH, available in templates as a macro ccat_min;
- test name: corresponding test name – a key in %allowed_header_tests;
- descr: description of a header test or MIME subheaders/structure test;
Casos específicos:
-
WARNING: bad headers - Improper use of control character (char 0D hex): MIME-Version: 1.0r Improper use of control character (char 0D hex): Content-type:text/html; charset=utf-8r Improper use of control character (char 0D):
La causa de este error suele ser la mala codificación del salto de línea (como vemos, es r, el estándar de windows). Si podemos sustituir el salto de línea r por n en la aplicación que envía el correo, amavis ya no debería alertar por dicha cabecera al estar acorde con la especificación RFC 2047 (también podemos utilizar rn). En caso contrario, desactivar el test de ‘control’:
$allowed_header_tests{'control'} = 0;