18.10. Ejecución de Sendmail

El demonio sendmail puede ejecutarse de dos formas. Una manera es ejecutarlo desde el demonio inetd y la otra, más usual, es ejecutar sendmail como un demonio en solitario. También es común para los programas de transporte invocar sendmail como una orden de usuario para aceptar el envío del correo generado localmente.

Cuando se ejecuta sendmail de modo solitario, se pone la instrucción en un fichero rcpara que se inicie en tiempo de arranque. La sintaxis usada es normalmente:
    /usr/sbin/sendmail -bd -q10m
El argumento -bd le dice a sendmail que se ejecute como un demonio. Se bifurcará y se ejecutará en segundo plano. El argumento -q10m le indica a sendmail que verifique su cola cada diez minutos. Puede escoger un tiempo diferente para verificar la cola.

Para ejecutar sendmail desde el demonio de red inetd podría usar una entrada como ésta:
    smtp  stream  tcp nowait  nobody  /usr/sbin/sendmail -bs
El argumento -bs aquí le dice a sendmail que utilice el protocolo SMTP en stdin/stdout, que se requiere para utilizarlo con inetd.

La orden runq es usualmente un enlace simbólico al binario de sendmail y es una forma más conveniente que:
    # sendmail -q

Cuando sendmail se invoca de esta manera, procesa cualquier correo esperando en la cola para ser transmitido. Cuando se ejecuta sendmail desde inetd debe crear un trabajo en cron que ejecute la orden runq periódicamente para asegurarse que el correo se sirve periódicamente.

Una tabla de cron útil sería similar a :
    # Ejecutar la entrega de correo cada quince minutos
    0,15,30,45     *     *     *     *     /usr/bin/runq

En muchas instalaciones sendmail procesa la cola cada 15 minutos como se muestra en nuestra tabla crontab de ejemplo, intentando transmitir cualquier mensaje allí.