]> git.sommitrealweird.co.uk Git - eoc.git/blob - enemies-of-carlotta.1.es
40a02c12dfea06a474c3e293dd2e148cd69005e2
[eoc.git] / enemies-of-carlotta.1.es
1 .TH ENEMIES-OF-CARLOTTA 1
2 .SH NAME
3 enemies-of-carlotta \- sencillo gestor de listas de correo
4 .SH SYNOPSIS
5 .B enemies-of-carlotta 
6 .IR "" [ opciones "] [" direcciones ]
7 .SH "DESCRIPCIÓN"
8 .B enemies-of-carlotta
9 es un gestor sencillo para listas de correo.
10 Si no sabe qué es un gestor de listas de correo, es mejor que 
11 aprenda lo que son, antes de intentar usar uno concreto.
12 Por desgracia, no hay espacio para eso en una página de
13 manual.
14 .PP
15 Enemies of Carlotta mantiene todos los datos sobre las listas de correo
16 en un directorio llamado
17 .I ~/.enemies-of-carlotta .
18 Se creará automáticamente en cuanto Usted cree la primera lista.
19 Tendrá que hacer arreglos a mano para que el gestor de listas pueda
20 procesar los mensajes. 
21 Los detalles varían de un servidor de correo a otro.
22 Para qmail y Postfix, véase infra.
23 .PP
24 Cada lista tiene uno o más propietarios, que también moderan suscripciones
25 o incluso algunos o todos los envíos a la lista.
26 En listas sin moderación alguna, el propietario de la lista es el 
27 responsable de contestar las dudas acerca de la lista.
28 En listas con moderación completa, tienen que aprobar cada mensaje, antes
29 de que éste pueda enviarse a la lista.
30 En listas con la opción
31 .IR posting=auto ,
32 los mensajes de los suscriptores se envían automáticamente a la lista,
33 y los moderadores tienen que aprobar el resto de mensajes.
34 .SH OPCIONES
35 .\" ---------------------------------------------------------------
36 .TP
37 .BR --name= lista@example.com
38 Especifica sobre qué lista ha de actuar la orden especificada.
39 Casi todas las restantes opciones precisan que especifique antes el nombre
40 de la lista con la opción antedicha.
41 Con las opciones
42 --edit, --subscribe, --unsubscribe, y --list ,
43 el nombre puede abreviarse quitando el signo @ y el dominio que le sigue.
44 .\" ---------------------------------------------------------------
45 .TP
46 .BI --create
47 Crear una lista nueva.
48 Ha de especificar al menos un propietario con la opción
49 .BR --owner .
50 .\" ---------------------------------------------------------------
51 .TP
52 .BI --owner= dirección
53 Al crear una lista, especifica un propietario de la lista.
54 .\" ---------------------------------------------------------------
55 .TP
56 .BI --language= código-idioma
57 Establece el código de idioma que se usa para buscar plantillas.
58 El código debería estar vacío (opción por defecto, es decir inglés), o
59 un código de dos letras como
60 .B fi
61 o
62 .BR es .
63 .\" ---------------------------------------------------------------
64 .TP
65 .B --cleaning-woman
66 Se encarga de las direcciones de rebote y hace otras limpiezas varias.
67 Ha de ejecutar periódicamente 
68 .B "enemies-of-carlotta --cleaning-woman" ,
69 algo así como una vez por hora.
70 Efectuará una limpieza de todas sus listas.
71 .\" ---------------------------------------------------------------
72 .TP
73 .BI --destroy
74 Eliminar la lista.
75 .\" ---------------------------------------------------------------
76 .TP
77 .BI --edit
78 Modificar la configuración de la lista.
79 .\" ---------------------------------------------------------------
80 .TP
81 .BI --subscription= tipo
82 Al crear una lista, establece su modo de suscripción a
83 .I free
84 (libre) o bien
85 .IR moderated 
86 (moderado).
87 Úselo con 
88 .BR --edit ,
89 o con
90 .BR --create .
91 .\" ---------------------------------------------------------------
92 .TP
93 .BI --posting= tipo
94 Al crear una lista, establece su modo de envío de mensajes a
95 .IR free
96 (libre),
97 .IR auto
98 (auto),
99 o bien
100 .IR moderated 
101 (moderado).
102 Úselo con
103 .BR --edit ,
104 o con
105 .BR --create .
106 .\" ---------------------------------------------------------------
107 .TP
108 .BI --archived= yes-o-no
109 Especifica si los mensajes de la lista deben archivarse en el directorio
110 .B archive-box
111 en el directorio de la lista que a su vez existe dentro del directorio
112 .B "~/.enemies-of-carlotta" .
113 Utilice 
114 .I yes
115 o bien
116 .IR no .
117 .\" ---------------------------------------------------------------
118 .TP
119 .BI --mail-on-subscription-changes= yes-o-no
120 ¿Debería notificarse a los dueños de la lista cuando alguien se
121 suscribe o desuscribe de ella?
122 Use
123 .I yes
124 o
125 .IR no .
126 Por defecto es no.
127 .\" ---------------------------------------------------------------
128 .TP
129 .BI --mail-on-forced-unsubscription= yes-o-no
130 ¿Debería notificarse a los dueños de la lista cuando se elimina a
131 alguien de la lista forzosamente por exceso de rebotes?
132 Use
133 .I yes
134 o
135 .IR no .
136 Por defecto es no.
137 .\" ---------------------------------------------------------------
138 .TP
139 .BI --list
140 Muestra los suscriptores de una lista de correo.
141 .\" ---------------------------------------------------------------
142 .TP
143 .BI --subscribe
144 Añade suscriptores a una lista de correo.
145 Los argumentos que no son opciones, son las direcciones que hay que
146 suscribir a la lista.
147 Observe que las direcciones que se añadan mediante este procedimiento 
148 no recibirán una confirmación de suscripción, sino que se las 
149 suscribirá directamente.
150 .\" ---------------------------------------------------------------
151 .TP
152 .BI --unsubscribe
153 Elimina suscriptores de una lista de correo.
154 Los argumentos que no son opciones, son las direcciones que hay que
155 desuscribir de la lista.
156 Observe que las direcciones que se eliminen mediante este procedimiento 
157 no recibirán una confirmación de desuscripción, sino que se las eliminará
158 directamente.
159 .\" ---------------------------------------------------------------
160 .TP
161 .B --incoming
162 Encargarse de un mensaje que se recibe por la entrada estándar.
163 La dirección del remitente del envoltorio SMTP 
164 (envelope sender address) debe especificarse mediante la variable 
165 de entorno 
166 .I SENDER ,
167 y la dirección del destinatario del envoltorio SMTP 
168 (SMTP envelope recipient address) debe especificarse en la variable
169 de entorno
170 .I RECIPIENT .
171 (qmail y Postfix lo hacen automáticamente).
172 .\" ---------------------------------------------------------------
173 .TP
174 .BI --skip-prefix= cadena
175 Antes de analizar la dirección del destinatario para ver a qué lista se
176 refiere, eliminar 
177 .I cadena 
178 de su comienzo.
179 Esta característica ayuda en el caso de los dominios virtuales de
180 qmail y Postfix; véase más arriba.
181 .\" ---------------------------------------------------------------
182 .TP
183 .BI --domain= nombre.dominio
184 Antes de analizar la dirección del destinatario para ver a qué lista se 
185 refiere, sustituir la parte del dominio por
186 .IR nombre. dominio .
187 Esta característica es útil en el caso de los dominios virtuales de
188 Postfix.
189 .\" ---------------------------------------------------------------
190 .TP
191 .BI --is-list
192 ¿Se refiere la lista especificada en la opción 
193 .B --name
194 a una lista válida?
195 Devuelve un estado de salida de cero (éxito) si es válida, o un estado
196 de uno (fallo) si no es válida.
197 .\" ---------------------------------------------------------------
198 .TP
199 .BI --sendmail= ruta-hasta-el-programa
200 Utilice
201 .I ruta-hasta-el-programa
202 en lugar de 
203 .B /usr/sbin/sendmail
204 para enviar correo por medio de una interfaz de línea de órdenes.
205 Nótese que la orden alternativa debe seguir las convenciones de la 
206 interfaz de línea de órdenes sendmail.
207 .\" ---------------------------------------------------------------
208 .TP
209 .BI --smtp-server= nombre.de.servidor
210 Enviar el correo usando el servidor SMTP 
211 .I nombre.de.servidor
212 (puerto 25).
213 El server ha de estar configurado para permitir que la lista 
214 pueda efectuar la retransmisión de correo a través de él.
215 Nótese que la opción por defecto es usar la interfaz de línea
216 de órdenes. Esta opción de enviar por SMTP sólo se utilizará
217 si la especifica explícitamente.
218 .\" ---------------------------------------------------------------
219 .TP
220 .BI --qmqp-server= nombredemaquina
221 Enviar correo usando el servidor QMQP que hay en
222 .I nombredemaquina
223 (puerto 628).
224 El servidor debe estar configurado para permitir que la máquina de
225 la lista reenvíe correo a través suyo.
226 Tenga en cuenta que por defecto se usa una interfaz de línea de
227 órdenes para el envío; sólo se utilizará QMQP si especifica esta opción.
228 .\" ---------------------------------------------------------------
229 .TP
230 .BI --moderate
231 Forzar la moderación de mensajes para un mensaje dado, incluso si va a ir
232 a parar a una lista de envío libre de mensajes.
233 Puede usar esta opción para el filtrado de correo electrónico no 
234 solicitado (spam):
235 sus mensajes entrantes pasan por el filtro de spam que Usted especifique
236 y si el mensaje califica como spam, se solicita la moderación del mensaje
237 por parte de una persona.
238 .\" ---------------------------------------------------------------
239 .TP
240 .BI --post
241 Forzar el envío de un mensaje entrante a una lista dada, incluso si
242 va a ir a parar a una lista que tenga el envío moderado.
243 Puede usar esta opción cuando hay una comprobación externa de si
244 un correo es aceptable en una lista; por ejempo, si dispone de 
245 un comprobador de firmas digitales.
246 .\" ---------------------------------------------------------------
247 .TP
248 .BI --quiet
249 De forma predeterminada, los mensajes de registro de depuración se envían
250 al flujo de salida de error estándar.
251 Con esta opción, se anula dicho comportamiento.
252 .\" ---------------------------------------------------------------
253 .TP
254 .BI --sender= foo@example.com
255 .TP
256 .BI --recipient= foo@example.com
257 Estas dos opciones se usan junto a
258 .B --incoming
259 y
260 .B --is-list
261 para imponerse a las variables de entorno
262 .B SENDER
263 y
264 .BR RECIPIENT ,
265 respectivamente.
266 .\" ---------------------------------------------------------------
267 .TP
268 .BI --get
269 Obtiene los valores de una o más variables de configuración.
270 El nombre de las variables se da en la línea de órdenes tras las opciones.
271 Cada valor se imprime en una línea aparte.
272 .\" ---------------------------------------------------------------
273 .TP
274 .BI --set
275 Establece los valores de una o más variables de configuración.
276 Los nombres y valores se dan en la línea de órdenes tras las opciones
277 y separadas por signos 'igual' ("=").
278 Por ejemplo, lo siguiente establecería el finlandés como idioma de una
279 lista:
280 .B "enemies-of-carlotta --name=foo@bar --set language=fi"
281 .\" ---------------------------------------------------------------
282 .TP
283 .BI --version
284 Muestra la versión del programa.
285 .\" ---------------------------------------------------------------
286 .SH CONFIGURACIÓN
287 Cada lista está representada por un directorio, que recibe el nombre
288 de la lista, y que está dentro de
289 .IR ~/.enemies-of-carlotta .
290 Dicho directorio contiene varios ficheros y directorios, que se describen
291 más abajo. En general, no es necesario tocarlos para nada.
292 Sin embargo, determinadas configuraciones, un tanto esotéricas, sólo pueden
293 establecerse editando a mano el fichero de configuración de la lista.
294 .TP
295 .B config
296 El fichero de configuración de la lista.
297 Su contenido se describe más abajo.
298 .TP
299 .B subscribers
300 Base de datos de suscriptores.
301 Cada línea contiene un grupo de suscriptores, siendo los cinco 
302 primeros campos delimitados por espacios el identificador del grupo,
303 el estado la marca temporal de cuándo se creó el grupo, la 
304 marca temporal de cuándo cambió su estado de 'ok' a 'bounced' 
305 (rebotado), y el identificador de la devolución (bounce).
306 .TP
307 .B archive-box
308 Mensajes de la lista archivados.
309 .TP
310 .B bounce-box
311 Grupos de mensajes rebotados (bounce) y que no están en estado 'ok'.
312 .TP
313 .B headers-to-add
314 Cabeceras a añadir a los mensajes enviados a esta lista.
315 Se copian al principio de cualquier cabecera existente exactamente tal
316 como estén en el fichero, tras haber añadido las cabeceras de la lista
317 ("List-ID", etc) y eliminado las mencionadas en
318 .B headers-to-remove .
319 .TP
320 .B headers-to-remove
321 Estas cabeceras se eliminan de los mensajes enviados a la lista.
322 .TP
323 .B moderation-box
324 Mensajes en espera de aprobación por parte del moderador.
325 .TP
326 .B subscription-box
327 Solicitudes de suscripción y desuscripción en espera de confirmación
328 por parte del usuario.
329 .TP
330 .B templates
331 Directorio que contiene plantillas (opcionales) específicas a la lista.
332 Si existe este directorio, se buscan las plantillas allí antes de ir en
333 busca de plantillas globales. Un fichero vacío indica que el mensaje
334 correspondiente no será enviado. Esto puede usarse, por ejemplo, para
335 desactivar los mensajes «espere por la moderación» en determinadas
336 listas.
337 .TP
338 .B plugins
339 Directorio que contiene plugins. Son archivos fuente en Python que
340 carga EoC automáticamente al arrancar.
341 Los plugins pueden variar la manera en que opera EoC.
342 .PP
343 El fichero
344 .B config
345 tiene un formato 
346 .IR palabra_clave = valor
347 :
348 .PP
349 .RS
350 .nf
351 [list]
352 owners = liw@liw.iki.fi
353 archived = no
354 posting = free
355 subscription = free
356 mail-on-subscription-changes = yes
357 mail-on-forced-unsubscribe = yes
358 language = es
359 .fi
360 .RE
361 .PP
362 Las palabras clave
363 .BR archived , 
364 .BR posting ,
365
366 .B subscription 
367 corresponden a las opciones de su mismo nombre.
368 Otras palabras clave son:
369 .TP
370 .B owners
371 Lista de las direcciones de los propietarios.
372 Especifíquelas con la opción
373 .I --owner .
374 .TP
375 .B mail-on-subscription-changes
376 Especifica si hay que mandar un correo a los propietarios 
377 de la lista cada vez que un usuario se suscribe o se desuscribe.
378 .TP
379 .B mail-on-forced-unsubscribe
380 Especifica si hay que mandar un correo a los propietarios de la lista 
381 cada vez que un usuario es dado de baja por excesivo rebote de mensajes.
382 .TP
383 .B language
384 Sufijo para las plantillas, para permitir el suporte de múltiples
385 lenguas.
386 (Si
387 .I language
388 tiene el valor "es", entonces a la plantilla llamada "aficionados" se la busca 
389 en primer lugar como "aficionados.es".)
390 .\" ---------------------------------------------------------------
391 .SH EJEMPLOS
392 Para crear una lista llamada
393 .IR cinefilos@example.com ,
394 cuyo propietario sea
395 .IR dingo@example.com ,
396 utilice la siguiente orden (todo en una línea):
397 .sp 1
398 .nf
399 .RS
400 enemies-of-carlotta --name=cinefilos@example.com
401 --owner=dingo@example.com --create
402 .RE
403 .PP
404 Observe que debe configurar su servidor de correo en concreto 
405 para que el correo llegue a la lista.
406 Para qmail y postfix, véase infra.
407 .PP
408 To see the subscribers on that list:
409 .sp 1
410 .RS
411 enemies-of-carlotta --name=cinefilos@example.com --list
412 .RE
413 .PP
414 Quien quiera suscribirse a la lista ha de escribir un correo a:
415 .sp 1
416 .RS
417 cinefilos-subscribe@example.com
418 .RE
419 .SH QMAIL
420 Con qmail, para conseguir que el correo entrante sea procesado por 
421 Enemies of Carlotta, tiene que crear dos ficheros
422 .I .qmail-extension
423 por cada lista.
424 Por ejemplo, si su nombre de usuario es pepe y quiere ejecutar la
425 lista pepe-aficionados, ha de crear dos ficheros, 
426 .I .qmail-aficionados
427
428 .IR .qmail-aficionados-default ,
429 que contengan la línea
430 .sp 1
431 .RS
432 |enemies-of-carlotta --incoming
433 .RE
434 .PP
435 Si tiene configurado un dominio virtual, example.com, y los correos
436 se entregan vía
437 .I /var/qmail/control/virtualdomains a pepe-exampledotcom ,
438 los ficheros se llamarían
439 .I .qmail-exampledotcom-aficionados
440
441 .I .qmail-exampledotcom-aficionados-default
442 y contendrían
443 .sp 1
444 .RS
445 |enemies-of-carlotta --incoming --skip-prefix=pepe-exampledotcom-
446 .RE
447 .sp 1
448 (todo en una línea, claro, por si acaso su lector de páginas de manual
449 formatea la orden anterior en varias líneas).
450 .SH POSTFIX
451 Con postfix, ha de configurar un fichero
452 .I .forward
453 que contenga
454 .sp 1
455 .RS
456 "|procmail -p"
457 .RE
458 .sp 1
459 y además un fichero 
460 .I .procmailrc
461 que contenga
462 .sp 1
463 .RS
464 :0
465 .br
466 * ? enemies-of-carlotta --name=$RECIPIENT --is-list
467 .br
468 | enemies-of-carlotta --incoming
469 .RE
470 .PP
471 Para usar Enemies of Carlotta con un dominio virtual de Postfix, 
472 ha de configurar un 
473 .I "mapa virtual de expresiones regulares",
474 que típicamente está en 
475 .I /etc/postfix/virtual_regexp
476 (añada 
477 .I "virtual_maps = regexp:/etc/postfix/virtual_regexp"
478 a su fichero 
479 .I /etc/postfix/main.cf
480 para activar esta carcterística).
481 El fichero de expresiones regulares ha de hacer cosas extrañas para
482 conservar la dirección del destinatario.
483 Añada lo siguiente al fichero de expresiones regulares:
484 .sp 1
485 .RS
486 /^su\.dominio\.virtual$/ dummy
487 .br
488 /^(sulista|sulista-.*)@(su\.dominio\.virtual)$/ pepe-virtual-$1
489 .RE
490 .sp 1
491 (Lo anterior estaba en dos líneas).
492 Luego, en su fichero
493 .I .procmailrc
494 añada la opción 
495 .I "--skip-prefix=joe-virtual-"
496 y también
497 .I --domain=your.virtual.domain
498 para las dos llamadas a 
499 .BR enemies-of-carlotta .
500 .PP
501 (Sí, nosotros también pensamos que estas configuraciones son demasiado complicadas).
502 .\" ---------------------------------------------------------------
503 .\" ---------------------------------------------------------------
504 .\" ---------------------------------------------------------------
505 .SH "ÓRDENES PARA EL CORREO"
506 Los usuarios y los propietarios de las listas utilizan 
507 Enemies of Carlotta a través del correo electrónico, usando para ello
508 direcciones a modo de órdenes, como por ejemplo
509 .BR aficionados-subscribe@example.com .
510 He aquí una lista de todas las órdenes que pueden usar tanto usuarios 
511 como propietarios de listas de correo.
512 En todos estos ejemplos, el nombre de la lista de correo es
513 .BR aficionados@example.com .
514 .\" ---------------------------------------------------------------
515 .SS "Órdenes a través de correo que pueden usar todos"
516 Estas órdenes están pensadas para el uso general.
517 No precisan de ningún privilegio especial..
518 .\" ---------------------------------------------------------------
519 .TP
520 .BR aficionados@example.com
521 Enviar correo a todos los suscritos a la lista.
522 El mensaje pueden haberlo aprobado previamente de forma manual los administradores
523 de la lista, que están facultados para rechazar los mensajes.
524 .\" ---------------------------------------------------------------
525 .TP
526 .BR aficionados-owner@example.com
527 Enviar un correo al propietario o propietarios de la lista.
528 .\" ---------------------------------------------------------------
529 .TP
530 .BR aficionados-help@example.com
531 Enviar un correo a esta dirección hace que el gestor de listas de 
532 correo nos devuelva un correo con la ayuda existente sobre la
533 lista en cuestión.
534 .\" ---------------------------------------------------------------
535 .TP
536 .BR aficionados-subscribe@example.com
537 Envíe un mensaje a esta dirección para suscribirse a la lista.
538 El gestor de listas de correo le responderá con una confirmación 
539 de suscripción.
540 No se le suscribirá a la lista a menos que responda a la petición
541 de confirmación. 
542 De esta forma, un usuario malicioso no podrá poner su dirección 
543 en una o en muchas listas de correo.
544 .\" ---------------------------------------------------------------
545 .TP
546 .BR aficionados-subscribe-pepe=example.com@example.com
547 Esta es una manera alternativa de la dirección de suscripción.
548 Si desea suscribirse a la lista de correo con una dirección distinta
549 a aquella desde la que envía el mensaje, utilice esta modalidad.
550 En este caso, la dirección para suscribirse es pepe@example.com.
551 Nótese que la petición de confirmación se envía a Pepe, puesto
552 que es su dirección la que va a añadirse a la lista.
553 .\" ---------------------------------------------------------------
554 .TP
555 .BR aficionados-unsubscribe@example.com
556 Para desuscribirse de una lista, envíe un correo a esta dirección
557 desde la dirección que desea desuscribir de la lista.
558 De nuevo recibirá una petición de confirmación, para evitar que
559 un usuario malicioso le desuscriba de una lista de correo contra su 
560 voluntad.
561 .\" ---------------------------------------------------------------
562 .TP
563 .BR aficionados-unsubscribe-pepe=example.com@example.com
564 Para desuscribir a Pepe, use esta dirección.
565 De nuevo, es Pepe quien recibirá la petición de confirmación.
566 .\" ---------------------------------------------------------------
567 .SS "Órdenes a través de correo que pueden usar los propietarios de las listas"
568 Se trata de órdenes que pueden usar los propietarios de listas para administrar su lista.
569 .\" ---------------------------------------------------------------
570 .TP
571 .BR aficionados-subscribe-pepe=example.com@example.com
572 Si un propietario de una lista envía un correo a la dirección anterior, 
573 él recibirá la petición de confirmación, y no Pepe.
574 Generalmente es mejor que los usuarios se suscriban ellos mismos, pero 
575 a veces los propietarios de listas pueden desear esta característica,
576 cuando tienen permiso de la persona afectada y quieren resultar más
577 útiles.
578 .\" ---------------------------------------------------------------
579 .TP
580 .BR aficionados-unsubscribe-joe=example.com@example.com
581 Los propietarios de listas también pueden desuscribir a otros usuarios.
582 .\" ---------------------------------------------------------------
583 .TP
584 .BR aficionados-list@example.com
585 Para ver quién está en la lista, envíe un correo a esta dirección.
586 Sólo funciona si la dirección del remitente del correo coincide
587 con un propietario de la lista. La dirección "sender address" se usa
588 a nivel del protocolo SMTP, y no es la del encabezamiento "From:"
589 .\" ---------------------------------------------------------------
590 .TP
591 .BR aficionados-setlist@example.com
592 Esta orden permite al propietario de una lista especificar de una 
593 sola vez toda la lista de suscriptores. Es equivalente a utilizar
594 muchas órdenes -subscribe y -unsubscribe, sólo que menos tedioso.
595 Todo el que resulte añadido a la lista recibe un mensaje de bienvenida,
596 y todo el que quede eliminado de la lista recibe un mensaje de despedida.
597 .\" ---------------------------------------------------------------
598 .TP
599 .BR aficionados-setlistsilently@example.com
600 Semejante a -setlist, pero no se envían mensajes ni de bienvenida, ni 
601 de despedida.
602 .\" ---------------------------------------------------------------
603 .\" ---------------------------------------------------------------
604 .\" ---------------------------------------------------------------
605 .SH PLUGINS
606 Enemies of Carlotta admite plugins.
607 Si no sabe programar en Python, probablemente se puede saltar esta
608 sección.
609 .PP
610 Un plugin es un módulo de Python (fichero con un sufijo
611 .B .py
612 en el nombre), situado en el directorio
613 .B ~/.enemies-of-carlotta/plugins .
614 Los plugins se cargan automáticamente durante el arranque, si la versión
615 declarada de su interfaz se ajusta con la implementada por Enemies of
616 Carlotta. La versión de la interfaz se declara en la variable global del
617 módulo
618 .BR PLUGIN_INTERFACE_VERSION .
619 .PP
620 Los plugin pueden definir funciones que serán invocadas desde los lugares
621 apropiados del código EoC.
622 Por el momento, la única función de enganche (hook) disponible es
623 .BR send_mail_to_subscribers_hook ,
624 que puede manipular un mensaje antes de que sea enviado a los suscriptores.
625 La función debe parecerse a esto:
626 .PP
627 .ti +5
628 def send_mail_to_subscribers_hook(list, text):
629 .PP
630 El argumento
631 .I list
632 es una referencia al objeto
633 .I MailingList
634 que corresponde a la lista en cuestión, y
635 .I text
636 es el texto completo del mensaje de correo en su forma actual.
637 La función debe devolver el nuevo contenido del mensaje de correo.
638 .\" ---------------------------------------------------------------
639 .\" ---------------------------------------------------------------
640 .\" ---------------------------------------------------------------
641 .SH FICHEROS
642 .TP
643 .I ~/.enemies-of-carlotta
644 Aquí están todos los ficheros relacionados con sus listas de correo.
645 .TP
646 .I ~/.enemies-of-carlotta/secret
647 Contraseña secreta que se usa para generar direcciones firmadas
648 para comprobación de rebotes de correo y verificación de suscripción.
649 .TP
650 .I ~/.enemies-of-carlotta/aficionados@example.com
651 Directorio que contiene los datos relativos a la lista 
652 aficionados@example.com. Excepto el fichero
653 .I config
654 de este directorio, no debe editar a mano nada de lo contenido en él.
655 .TP
656 .I ~/.enemies-of-carlotta/aficionados@example.com/config
657 Fichero de configuración de la lista de correo.
658 Quizá tenga que editar este fichero a mano si desea cambiar el estado
659 de moderación de la lista o sus propietarios.
660 .SH "VÉASE TAMBIÉN"
661 Visite la página de 
662 .I "Enemies of Carlotta"
663 alojada en 
664 .IR http://www.iki.fi/liw/eoc/ .
665 .TP
666 La traducción de esta página ha corrido a cargo de Iván Juanes
667 .BR kerberos@gulic.org
668 y de Ricardo Cárdenes
669 .BR heimy@gulic.org
670 como parte de los proyectos del grupo Gulic.