Comando sendmail de Linux



comando sendmail

En Tipo Unix sistemas operativos, enviar correo es un propósito general Email función de enrutamiento que admite muchos tipos de métodos de transferencia y entrega de correo, incluido el SMTP (Protocolo simple de transferencia de correo) que se utiliza para el transporte de correo electrónico a través de Internet .



Descripción

enviar correo envía un mensaje a uno o más destinatarios, enrutando el mensaje a través de las redes que sean necesarias. enviar correo realiza el reenvío entre redes según sea necesario para entregar el mensaje al lugar correcto.

enviar correo no pretende ser una rutina de interfaz de usuario; otros programas proporcionan interfaces fáciles de usar. enviar correo se utiliza únicamente para enviar mensajes formateados previamente.



Sin banderas especificadas, enviar correo lee su entrada estándar hasta un final de archivo o una línea que consta de un solo punto, y envía una copia del mensaje que se encuentra allí a todas las direcciones enumeradas. Determina las redes que se utilizarán según la sintaxis y el contenido de las direcciones.

Las direcciones locales se buscan en un archivo y se les asigna un alias apropiado. El alias se puede evitar precediendo la dirección con una barra invertida. A partir de la versión 8.10, el remitente se incluye en cualquier expansión de alias; por ejemplo, si 'juan' envía correo a 'grupo' y 'grupo' incluye 'juan' en la expansión, entonces la carta también se envía a 'juan'.



Sintaxis

|_+_|

Sintaxis alternativa

enviar correo también se puede invocar, con una funcionalidad especial, utilizando los siguientes comandos.

|_+_| |_+_| |_+_| |_+_| |_+_|

Vea abajo para más información.

Parámetros

-C.A Usar submit.cf incluso si el modo de funcionamiento no indica un envío de correo inicial.
-Soy Usar sendmail.cf incluso si el modo de operación indica un envío de correo inicial.
-B tipo Establezca el tipo de cuerpo en tipo . Los valores legales actuales son 7BIT o 8BITMIME .
-licenciado en Letras Entrar en ARPANET modo. Todas las líneas de entrada deben terminar con un CR - LF, y todos los mensajes se generarán con un CR-LF al final. Además, los campos 'De:' y 'Remitente:' se examinan en busca del nombre del remitente.
-bd Ejecutar como un demonio. enviar correo se bifurcará y se ejecutará en segundo plano escuchando en el socket 25 para las conexiones SMTP entrantes. Esto normalmente se ejecuta desde / etc / rc .
-bD Igual que -bd , excepto que se ejecuta en primer plano.
-bh Imprima el estado del host persistente base de datos .
-bH Purgue las entradas caducadas de la base de datos de estado del host persistente.
-con un Inicialice la base de datos de alias.
-bm Entregue el correo de la forma habitual (predeterminado).
-pb Imprima una lista de las colas.
-bP Imprime el número de entradas en la (s) cola (s); solo disponible con soporte de memoria compartida.
-bs Utilice el SMTP protocolo como se describe en RFC 821 sobre entrada y salida estándar. Esta bandera implica todas las operaciones del -licenciado en Letras bandera que son compatibles con SMTP.
-bt Ejecutar en modo de prueba de dirección. Este modo lee direcciones y muestra los pasos del análisis; se utiliza para depurar tablas de configuración.
-bv Verifique solo los nombres; no intente recopilar o entregar un mensaje. El modo de verificación se utiliza normalmente para validar usuarios o listas de distribución.
-C expediente Utilice un archivo de configuración alternativo. enviar correo renuncia a cualquier privilegio mejorado (set-user-ID o set-group-ID) si se especifica un archivo de configuración alternativo.
-D archivo de registro Envíe la salida de depuración al indicado Iniciar sesión file en lugar de stdout.
-D categoría . nivel ... Establecer la bandera de depuración para categoría a nivel . La categoría es un número entero o un nombre que especifica el tema, y nivel un número entero que especifica el nivel de salida de depuración deseado. Los niveles más altos generalmente significan más producción. Se puede especificar más de una bandera separándolas con comas. Una lista de categorías de depuración numéricas que se encuentran en el TRACEFLAGS archivo en el enviar correo fuente distribución. La opción -d0.1 imprime la versión de enviar correo y las opciones utilizadas durante la compilación. La mayoría de las otras categorías solo son útiles y están documentadas en enviar correo código fuente de.
-F nombre completo Establezca el nombre completo del remitente.
-F nombre Establece el nombre de la persona 'de' (es decir, el remitente del sobre del correo). Esta dirección también se puede usar en el encabezado 'De:' si ese encabezado falta durante el envío inicial. La dirección del remitente del sobre se utiliza como destinatario para las notificaciones del estado de la entrega y también puede aparecer en un encabezado 'Ruta de retorno:'. -F solo debe ser utilizado por usuarios 'confiables' (normalmente raíz , demonio , y la red ) o si la persona en la que estás tratando de convertirte es la misma que eres. De lo contrario, se agrega un encabezado 'X-Authentication-Warning' al mensaje.
-GRAMO Envío de retransmisión (puerta de enlace) de un mensaje, por ejemplo, cuando rmail llama enviar correo .
-h norte Establezca el recuento de saltos en norte . El recuento de saltos se incrementa cada vez que se procesa el correo. Cuando alcanza un límite, el correo se devuelve con un mensaje de error, probablemente víctima de un bucle de alias. Si no se especifica, se cuentan las líneas 'Recibidas:' del mensaje.
-I Ignore los puntos solos en las líneas por sí mismos en los mensajes entrantes. Esto debe establecerse si está leyendo datos de un archivo.
-L etiqueta Establezca el identificador utilizado en los mensajes de syslog al suministrado etiqueta .
-NORTE dsn Establezca las condiciones de notificación del estado de entrega en dsn , que puede ser ' Nunca 'para no recibir notificaciones, o una lista de valores separados por comas' falla 'para ser notificado si falla la entrega', demora 'ser notificado si la entrega se retrasa, y' éxito 'para recibir una notificación cuando el mensaje se entregue correctamente.
-norte No hagas aliasing.
-O opción = valor Establecer opción opción a lo especificado valor . Este formulario utiliza nombres largos. Consulte a continuación para obtener más detalles.
-o x valor Establecer opción x a lo especificado valor . Este formulario utiliza únicamente nombres de un solo carácter.
-pag protocolo Establezca el nombre del protocolo utilizado para recibir el mensaje. Puede ser un nombre de protocolo simple como ' UUCP 'o un protocolo y nombre de host, como' UUCP: ucbvax '.
-q [ hora ] Procese los mensajes guardados en la cola a intervalos determinados. Si hora se omite, procese la cola una vez. La hora se da como un número etiquetado, con ' s 'siendo segundos' metro 'siendo minutos (predeterminado),' h 'siendo horas' D 'siendo días, y' en 'siendo semanas. Por ejemplo, ' -q1h30m ' o ' -q90m 'ambos establecerían el tiempo de espera en una hora y media. Por defecto, enviar correo se ejecuta en segundo plano. Esta opción se puede utilizar de forma segura con -bd .
-qp [ hora ] Similar a -q hora , excepto que en lugar de bifurcar periódicamente a un niño para que procese la cola, enviar correo bifurca un solo hijo persistente para cada cola que alterna entre procesar la cola y dormir. El tiempo de sueño se da como argumento; el valor predeterminado es 1 segundo. El proceso siempre duerme al menos 5 segundos si la cola estaba vacía en la ejecución de la cola anterior.
-q F Procese los mensajes guardados en la cola una vez y no se bifurquen, sino que se ejecuten en primer plano.
-qG nombre Procesar trabajos en el grupo de cola llamado nombre solo.
-q [ ! ] I substr Limite los trabajos procesados ​​a los que contienen substr como una subcadena del identificador de cola o no cuando ! está especificado.
-q [ ! ] Q substr Limite los trabajos procesados ​​a trabajos en cuarentena que contengan substr como una subcadena del motivo de la cuarentena o no cuando ! está especificado.
-q [ ! ] R substr Limite los trabajos procesados ​​a los que contienen substr como una subcadena de uno de los destinatarios o no cuando ! está especificado.
-q [ ! ] S substr Limite los trabajos procesados ​​a los que contienen substr como una subcadena del remitente o no cuando ! está especificado.
-Q [ razón ] Poner en cuarentena los elementos de una cola normal con el motivo indicado o poner en cuarentena los elementos de la cola si no se indica el motivo. Esto solo debe usarse con algún tipo de coincidencia de elementos usando como se describe arriba.
-R regreso Establezca la cantidad del mensaje que se devolverá si el mensaje rebota. El parámetro de retorno puede ser ' completo 'para devolver el mensaje completo o' hdrs 'para devolver solo los encabezados. En el último caso, los rebotes locales devuelven solo los encabezados.
-r nombre Una forma alternativa y obsoleta del -F bandera.
-t Leer mensaje para destinatarios. A: , Cc: , y Cco: Las líneas se escanearán en busca de direcciones de destinatarios. La Cco: línea se eliminan antes de la transmisión.
-V envido Establezca la identificación del sobre original. Esto se propaga a través de SMTP a servidores que admiten DSN y se devuelve en mensajes de error compatibles con DSN.
-v Vaya al modo detallado. Se anunciarán expansiones de alias, etc.
-X archivo de registro Registre todo el tráfico de entrada y salida de correos en el archivo de registro indicado. Esto solo debe usarse como último recurso para depurar errores de correo. Registrará una gran cantidad de datos muy rápidamente.
-- Deje de procesar las banderas de comando y use el resto de los argumentos como direcciones.

Opciones

También hay muchas opciones de procesamiento que se pueden configurar. Normalmente, estos solo los utiliza un administrador de sistema . Las opciones se pueden configurar en el línea de comando utilizando la -o bandera (para nombres cortos), la -O flag (para nombres largos), o en el archivo de configuración. Esta es una lista parcial limitada a aquellas opciones que probablemente sean útiles en la línea de comando y solo muestra los nombres largos. Las opciones son:

AliasFile = expediente Utilice un archivo de alias alternativo.
Mantener caro En los remitentes de correo que se consideran 'costosos' para conectarse, no inicie la conexión inmediata. Esto requiere hacer cola.
CheckpointInterval = norte Controle el archivo de cola después de cada norte entregas exitosas (predeterminado 10 ). Esto evita las entregas duplicadas excesivas cuando se envía a listas de correo largas interrumpidas por fallas del sistema.
DeliveryMode = x Establezca el modo de entrega en x . Los modos de entrega son ' I 'para entrega interactiva (sincrónica),' b 'para el fondo ( asincrónico ) entrega, ' q 'solo para cola; es decir, la entrega real se realiza la próxima vez que se ejecuta la cola, y ' D 'para diferido: lo mismo que' q 'excepto que las búsquedas en la base de datos para mapas que han establecido el -D opción (predeterminada para el mapa de host) se evitan.
ErrorMode = x Establecer el procesamiento de errores en modo x . Los modos válidos son ' metro 'para enviar el mensaje de error por correo,' en 'para' escribir 'el mensaje de error (o enviarlo de vuelta si el remitente no ha iniciado sesión),' pag 'para imprimir los errores en el terminal (predeterminado),' q 'para descartar mensajes de error (solo se devuelve el estado de salida), y' es 'para realizar un procesamiento especial para BerkNet. Si el texto del mensaje no es devuelto por los modos ' metro ' o ' en 'y si el remitente es local en esta máquina, se adjunta una copia del mensaje al archivo letra muerta en el directorio de inicio del remitente.
SaveFromLine Guardar estilo Unix De líneas al principio de los mensajes.
MaxHopCount = norte El número máximo de veces que se permite que un mensaje 'salte' antes de que decidamos que está en un bucle.
IgnoreDots No tome puntos en una línea por sí mismos como terminador de mensajes.
SendMimeErrors Envía mensajes de error en formato MIME. Si no se configura, la extensión SMTP DSN (Notificación de estado de entrega) está deshabilitada.
ConnectionCacheTimeout = se acabó el tiempo Establecer el tiempo de espera de la caché de conexión.
ConnectionCacheSize = norte Establecer el tamaño de la caché de conexión.
LogLevel = norte El nivel de registro.
MeToo = Falso No envíe a 'mí' (el remitente) si estoy en una expansión de alias.
CheckAliases Valide el lado derecho de los alias durante una nuevos alias mando.
OldStyleHeaders Si se establece, este mensaje puede tener encabezados de estilo antiguo. Si no se establece, se garantiza que este mensaje tendrá nuevos encabezados de estilo (es decir, comas en lugar de espacios entre las direcciones). Si se establece, se utiliza un algoritmo adaptativo que determinará correctamente el formato del encabezado en la mayoría de los casos.
QueueDirectory = cola Seleccione el directorio donde poner los mensajes en cola.
StatusFile = expediente Guardar estadísticas en el nombre expediente .
Timeout.queuereturn = hora Establezca el tiempo de espera de los mensajes no entregados en la cola en el tiempo especificado. Después de que la entrega haya fallado (por ejemplo, debido a que un host no funciona) durante este período de tiempo, los mensajes fallidos se devolverán al remitente. El valor predeterminado es cinco días.
UserDatabaseSpec = base de datos de usuario Si se establece, se consulta una base de datos de usuario para obtener información de reenvío. Puede considerar esto como un complemento del mecanismo de alias, excepto que la base de datos está destinada a ser distribuida; los alias son locales para un host en particular. Esto puede no estar disponible si su enviar correo no tiene el USERDB opción compilada en.
ForkEachJob Bifurque cada trabajo durante la ejecución de la cola. Puede ser conveniente en máquinas con poca memoria.
SevenBitInput Quite los mensajes entrantes a siete bits.
EightBitMode = modo Configure el manejo de la entrada de ocho bits a destinos de siete bits en el modo: metro (mimefy) se convertirá a formato MIME de siete bits, pag (pasar) pasará como ocho bits (pero viola los protocolos), y s (estricto) rebotará el mensaje.
MinQueueAge = se acabó el tiempo Establece cuánto tiempo debe fermentar un trabajo en la cola entre intentos de enviarlo.
DefaultCharSet = juego de caracteres Establece el juego de caracteres predeterminado utilizado para etiquetar datos de 8 bits que no están etiquetados de otra manera.
DialDelay = hora de dormir Si falla la apertura de una conexión, duerma hora de dormir segundos y vuelva a intentarlo. Útil en sitios de marcado bajo demanda.
NoRecipientAction = acción Establezca el comportamiento cuando no hay encabezados de destinatarios ( A: , Cc: o Cco: ) en el mensaje a acción : ninguno deja el mensaje sin cambios, añadir agrega un A: encabezado con los destinatarios del sobre, añadir-aparentemente-a agrega un Aparentemente a: encabezado con los destinatarios del sobre, add-bcc agrega un vacío Cco: encabezado y agregar a no revelado agrega una lectura de encabezado ' Destinatario no revelado:; '.
MaxDaemonChildren = norte Establece el número máximo de hijos que un demonio SMTP entrante permite generar en cualquier momento para norte .
ConnectionRateThrottle = norte Establece el número máximo de conexiones por segundo al puerto SMTP para norte .

En los alias, el primer carácter de un nombre puede ser una barra vertical (' | ') para provocar la interpretación del resto del nombre como un comando que canaliza el correo. Puede ser necesario citar el nombre para mantener enviar correo de suprimir los espacios en blanco entre argumentos. Por ejemplo, un alias común es:

|_+_|

Los alias también pueden tener la sintaxis ' : incluir: nombre de archivo ' preguntar enviar correo para leer el archivo con nombre para obtener una lista de destinatarios. Por ejemplo, un alias como:

|_+_|

leería /usr/local/lib/poets.list para la lista de direcciones que componen el grupo.

Estado de salida

Sendmail devuelve un estado de salida que describe lo que hizo. Los códigos de salida se enumeran a continuación y se definen en .

EX_OK Finalización exitosa en todas las direcciones.
EX_NOUSER Nombre de usuario no reconocido.
EX_UNAVAILABLE Catchall significa que los recursos necesarios no estaban disponibles.
EX_SYNTAX Error de sintaxis en la dirección.
EX_SOFTWARE Error de software interno, incluidos malos argumentos.
EX_OSERR Temporal sistema operativo error, como 'no se puede bifurcar'.
EX_NOHOST Nombre de host no reconocido.
EX_TEMPFAIL El mensaje no se pudo enviar inmediatamente, pero estaba en cola.

Invocaciones alternativas

Si se invoca como nuevos alias , sendmail reconstruirá la base de datos de alias.

Si se invoca como mailq , sendmail imprime el contenido de la cola de correo.

Si se invoca como hoststat , sendmail imprime la base de datos de estado del host persistente.

Si se invoca como purgar , sendmail purga las entradas caducadas de la base de datos de estado del host persistente.

Si se invoca como smtpd , sendmail actúa como un demonio, como si el -bd se especificaron las opciones.

Archivos

Excepto por el archivo /etc/mail/sendmail.cf en sí, los siguientes nombres de ruta se especifican en /etc/mail/sendmail.cf . Por lo tanto, estos valores solo deben considerarse aproximaciones.

/ etc / mail / aliases datos brutos para nombres de alias
/etc/mail/aliases.db base de datos de nombres de alias
/etc/mail/sendmail.cf archivo de configuración
/ etc / mail / helpfile archivo de ayuda
/ etc / mail / statistics estadísticas recopiladas
/ var / spool / mqueue / * archivos temporales

Ejemplos de

|_+_|

enviar correo leerá su correo electrónico desde la entrada estándar e intentará enviar el correo electrónico cuando ingrese un solo punto (' . ') en una nueva línea y presione Ingresar . Como ejemplo, después de ejecutar el comando anterior, puede escribir:

|_+_|

y enviar correo intenta enviarlo.

filete - Reciba notificaciones detalladas por correo en la línea de comandos.
correo - Leer, redactar y administrar correo.
mailx - Procesar mensajes de correo.
newalias - Instale nuevos alias de elm.
pino - Un cliente para usar correo y grupos de noticias.