Manejo de datos binarios con el contenido de Axis2 (MTOM / SwA) Introducción A pesar de la flexibilidad, la interoperabilidad y la aceptación global de XML, hay momentos en los que la serialización de datos en XML no tiene sentido. Los usuarios de servicios web pueden querer transmitir archivos adjuntos binarios de varios tipos, como imágenes, dibujos, documentos XML, etc., junto con un mensaje SOAP. Tales datos están a menudo en un formato binario particular. Tradicionalmente, se han utilizado dos técnicas para tratar datos opacos en XML. El envío de datos binarios por valor se consigue mediante la incorporación de datos opacos (por supuesto después de alguna forma de codificación) como un elemento o contenido de atributo del componente XML de datos. La principal ventaja de esta técnica es que da a las aplicaciones la capacidad de procesar y describir datos, basados únicamente en el componente XML de los datos. XML admite datos opacos como contenido mediante el uso de codificación de texto base64 o hexadecimal. Ambas técnicas inflan el tamaño de los datos. Para la codificación de texto subyacente UTF-8, la codificación base64 aumenta el tamaño de los datos binarios en un factor de 1,33x del tamaño original, mientras que la codificación hexadecimal expande los datos por un factor de 2x. Los factores anteriores se duplicarán si se utiliza la codificación de texto UTF-16. También preocupa la sobrecarga en los costos de procesamiento (tanto reales como percibidos) para estos formatos, especialmente cuando se vuelve a descifrar en binario en bruto. El envío de datos binarios por referencia se logra uniendo datos binarios puros como entidades externas no modificadas externas fuera del documento XML y luego incorporando URI de referencia a esas entidades como elementos o valores de atributo. Esto evita el hinchamiento innecesario de datos y el desperdicio de potencia de procesamiento. El principal obstáculo para el uso de estas entidades sin reparar es su gran dependencia de DTD, lo que impide la modularidad, así como el uso de los espacios de nombres XML. Había varias especificaciones introducidas en el mundo de los servicios Web para tratar este problema de apego binario usando la técnica de referencia de referencia quot. SOAP with Attachments es un ejemplo. Dado que SOAP prohíbe las declaraciones de tipo de documento (DTD) en los mensajes, esto conduce al problema de no representar datos como parte del mensaje infoset, creando así dos modelos de datos. Este escenario es como enviar adjuntos con un mensaje de correo electrónico. A pesar de que los archivos adjuntos están relacionados con el contenido del mensaje que no están dentro del mensaje. Esto hace que las tecnologías que procesan y describen los datos basados en el componente XML de los datos funcione mal. Un ejemplo es WS-Security. Dónde MTOM viene en MTOM (mecanismo de optimización de transmisión de mensajes SOAP) es otra especificación que se centra en la solución del problema quotAttachmentsquot. MTOM intenta aprovechar las ventajas de las dos técnicas anteriores al tratar de combinar las dos técnicas. MTOM es en realidad un método de referencia quotby. El formato de cable de un mensaje optimizado MTOM es el mismo que el mensaje SOAP with Attachments, que también lo hace compatible con los puntos finales SwA. La característica más notable de MTOM es el uso del elemento XOP: Include, que se define en la especificación XOP (XML Binary Optimized Packaging) para hacer referencia a los datos adjuntos binarios (entidades generales externas no modificadas) del mensaje. Con el uso de este elemento exclusivo, el contenido binario adjunto se lógicamente se convierte en línea (por valor) con el documento SOAP, aunque realmente se adjunta por separado. Esto fusiona los dos reinos haciendo posible trabajar sólo con un modelo de datos. Esto permite que las aplicaciones procesen y describan sólo mirando la parte XML, haciendo que la dependencia de DTD sea obsoleta. En una nota más ligera, MTOM ha normalizado el mecanismo de referencia de SwA. Lo que sigue es un extracto de la especificación XOP. En el nivel conceptual, estos datos binarios pueden considerarse codificados en base64 en el documento XML. Como esta forma conceptual puede ser necesaria durante algún procesamiento del documento XML (por ejemplo, para firmar el documento XML), es necesario tener una correspondencia uno a uno entre los conjuntos de información XML y los paquetes XOP. Por lo tanto, la representación conceptual de estos datos binarios es como si estuviera codificada en base64, utilizando la forma léxica canónica del tipo de datos XML Schema base64Binary (vea XML Schema Parte 2: Datatypes Second Edition 3.2.16 base64Binary). En la dirección inversa, XOP es capaz de optimizar sólo los datos de Infoset codificados en base64 que están en la forma léxica canónica. Apache Axis2 es compatible con la codificación Base64. SOAP con adjuntos y MTOM (mecanismo de optimización de la transmisión de mensajes SOAP). MTOM con el modelo de programación Axis2 AXIOM es (y puede ser el primero) modelo de objetos que tiene la capacidad de almacenar datos binarios. Tiene esta capacidad como OMText puede contener contenido binario en bruto en la forma de javax. activation. DataHandler. OMText ha sido elegido para este propósito con dos razones. Uno de ellos es que XOP (MTOM) es capaz de optimizar sólo los datos de Infoset codificados en base64 que están en la forma léxica canónica del tipo de datos XML Schema base64Binary. Otro es preservar el infoset tanto en el remitente como en el receptor. (Para almacenar el contenido binario en el mismo tipo de objeto independientemente de si está optimizado o no). MTOM permite codificar selectivamente porciones del mensaje, lo que nos permite enviar datos codificados en base64 así como datos binarios brutos conectados externamente referidos por el elemento xOPquot (contenido optimizado) para ser enviados en un mensaje SOAP. Puede especificar si un nodo OMText que contiene datos binarios sin formato o datos binarios codificados en base64 está calificado para ser optimizado en el momento de la construcción de ese nodo o posterior. Para una eficiencia óptima de MTOM, se aconseja a un usuario que envíe archivos adjuntos binarios más pequeños utilizando archivos base64encoding (no optimizados) y archivos adjuntos de mayor tamaño como contenido optimizado. Además, un usuario puede crear un nodo de contenido binario optimizable usando una cadena codificada en base64, que contiene contenido binario codificado, dado con el tipo MIME de la representación binaria real. Axis2 utiliza javax. activation. DataHandler para manejar los datos binarios. Todos los nodos de contenido binario optimizados se serializarán como cadenas de base64 si quotMTOM no está habilitadoquot. También puede crear nodos de contenido binario, que no se optimizarán en ningún caso. Serán serializados y enviados como cadenas de base64. Habilitar la optimización de MTOM en el lado del cliente En Opciones, establezca la propiedad quotenableMTOMquot en True cuando envíe mensajes. Cuando esta propiedad se establece en True, cualquier sobre SOAP, independientemente de si contiene contenido optimizable o no, se serializará como un mensaje MIME optimizado MTOM. Axis2 serializa todos los nodos de contenido binario como cadenas codificadas en Base64 independientemente de si están calificadas para ser optimizadas o no si la propiedad quotenableMTOMquot está establecida en False. Si el sobre contiene elementos de información del elemento del nombre xop: Include (véase XML-binario Optimized Packaging 3. XOP Infosets Constructs). El usuario no tiene que especificar nada para que Axis2 pueda recibir mensajes optimizados de MTOM. Axis2 automáticamente identificará y des-serializar en consecuencia, como y cuando llega un mensaje MTOM. Habilitación de la optimización MTOM en el servidor El servidor Axis 2 identifica automáticamente los mensajes optimizados MTOM entrantes basados en el tipo de contenido y los des-serializa en consecuencia. El usuario puede habilitarMTOM en el lado del servidor para los mensajes salientes, Para habilitarMTOM globalmente para todos los servicios, los usuarios pueden establecer el parámetro quotenableMTOMquot en True en el Axis2.xml. Cuando se establece, todos los mensajes salientes se serializarán y se enviarán como mensajes MIME optimizados MTOM. Si no está establecido, todos los datos binarios en los nodos de contenido binario se serializarán como cadenas codificadas en Base64. Esta configuración se puede sobreescribir en services. xml sobre la base de por servicio y por operación. Debe reiniciar el servidor después de configurar este parámetro. Accediendo a los datos binarios recibidos (código de ejemplo) Id recomienda la aplicación / octeto-flujo como RFC2046 dice El octeto-subtipo de flujo se utiliza para indicar que un cuerpo contiene datos binarios arbitrarios y La acción recomendada para una implementación que recibe una aplicación / octeto - Es simplemente ofrecer para poner los datos en un archivo. . Creo que de esa manera obtendrá un mejor manejo de los programas arbitrarios, que podría barf al encontrarse con su tipo mime desconocido. Los encabezados del tipo mimetype son reconocidos por el navegador con el fin de identificar (rápidamente) a un manejador para usar el archivo descargado como destino, por ejemplo, se descargaría PDF y su programa Adobe Reader se ejecutaría con la ruta del archivo PDF como Un argumento, Si sus necesidades son para escribir una extensión de navegador para manejar su archivo descargado, a través de su sistema de operación, o simplemente quiere hacer que el proyecto de un aspecto más profesional seguir adelante y seleccionar un tipo único mimetype para que usted use, sería No hace ninguna diferencia ya que el sistema operativo no tiene ningún control para abrirlo (algunos navegadores tiene pocos paquetes de plugins, por ejemplo nuevas versiones de Google Chrome tiene un lector de PDF incorporado), si desea asegurarse de que el archivo Ser descargado echar un vistazo a esta respuesta: stackoverflow / a / 34758866/257319 si desea hacer que su tipo de archivo esté especialmente organizado, podría valer la pena añadir algunas letras en los primeros bytes del archivo, por ejemplo, cada JPG tiene Esto en su comienzo del archivo: si usted puede permitirse un salto de 4 o de 8 bytes podría ser muy provechoso para usted en el resto del way4 El encabezado del tipo del contenido El propósito del campo Content-Type es describir los datos contenidos En el cuerpo lo suficiente como para que el agente de usuario receptor pueda seleccionar un agente o mecanismo apropiado para presentar los datos al usuario, o tratar de otra manera los datos de una manera apropiada. El campo de encabezado Content-Type se utiliza para especificar la naturaleza de los datos en el cuerpo de una entidad, proporcionando identificadores de tipo y subtipo y proporcionando información auxiliar que puede ser necesaria para ciertos tipos. Después de los nombres de tipo y subtipo, el resto del campo de encabezado es simplemente un conjunto de parámetros, especificado en una notación de atributo / valor. El conjunto de parámetros significativos difiere para los diferentes tipos. El ordenamiento de los parámetros no es significativo. Entre los parámetros definidos se encuentra un parámetro charset mediante el cual se puede declarar el juego de caracteres utilizado en el cuerpo. Los comentarios están permitidos de acuerdo con las reglas RFC 822 para los campos de cabecera estructurados. En general, el tipo de contenido de nivel superior se utiliza para declarar el tipo general de datos, mientras que el subtipo especifica un formato específico para ese tipo de datos. Por lo tanto, un Content-Type de imagen / xyz es suficiente para decirle a un agente de usuario que los datos son una imagen, incluso si el agente de usuario no tiene conocimiento del formato de imagen específico xyz. Dicha información puede utilizarse, por ejemplo, para decidir si se mostrarán o no a un usuario los datos sin procesar de un subtipo no reconocido, tal acción podría ser razonable para subtipos de texto no reconocidos, pero no para subtipos no reconocidos de imagen o audio. Por esta razón, los subtipos registrados de audio, imagen, texto y video, no deben contener información incrustada que sea realmente de un tipo diferente. Dichos tipos de compuestos se deben representar usando los tipos de múltiples partes o de aplicación. Los parámetros son modificadores del subtipo de contenido y no afectan fundamentalmente los requisitos del sistema host. Aunque la mayoría de los parámetros tienen sentido sólo con ciertos tipos de contenido, otros son globales en el sentido de que podrían aplicarse a cualquier subtipo. Por ejemplo, el parámetro boundary tiene sentido sólo para el tipo de contenido multipart, pero el parámetro charset puede tener sentido con varios tipos de contenido. En este documento se define un conjunto inicial de siete tipos de contenido. Este conjunto de nombres de nivel superior está destinado a ser sustancialmente completo. Se espera que las adiciones al conjunto más grande de tipos soportados puedan lograrse generalmente mediante la creación de nuevos subtipos de estos tipos iniciales. En el futuro, más tipos de nivel superior sólo se pueden definir mediante una extensión a este estándar. Si se utiliza otro tipo primario por cualquier razón, debe darse un nombre que comience con X - para indicar su estado no estándar y para evitar un posible conflicto con un nombre oficial futuro. En la notación ampliada BNF de RFC 822. un valor de campo de encabezado Content-Type se define como sigue: Tenga en cuenta que la definición de tspecials es la misma que la definición de RFC 822 de especiales con la adición de los tres caracteres /, y. Observe también que una especificación de subtipo es OBLIGATORIA. No hay subtipos predeterminados. Los nombres de tipo, subtipo y parámetro no distinguen entre mayúsculas y minúsculas. Por ejemplo, TEXT, Text y TeXt son todos equivalentes. Los valores de los parámetros son normalmente sensibles a mayúsculas y minúsculas, pero ciertos parámetros se interpretan como insensibles a las mayúsculas y minúsculas, dependiendo del uso que se pretenda utilizar. (Por ejemplo, los límites de varias partes distinguen mayúsculas de minúsculas, pero el tipo de acceso para el mensaje / External-body no distingue entre mayúsculas y minúsculas). Más allá de esta sintaxis, la única restricción en la definición de subtipos es el deseo de que sus usos no conflicto. Es decir, sería indeseable tener dos comunidades diferentes usando Content-Type: application / foobar para significar dos cosas diferentes. El proceso de definición de nuevos subtipos de contenido, entonces, no pretende ser un mecanismo para imponer restricciones, sino simplemente un mecanismo para publicitar los usos. Por lo tanto, existen dos mecanismos aceptables para definir nuevos subtipos de Tipo de Contenido: Los valores privados (que comienzan con X-) pueden definirse bilateralmente entre dos agentes cooperantes sin registro externo o estandarización. Los nuevos valores estándar deben estar documentados, registrados y aprobados por la IANA, como se describe en el Apéndice F. Cuando se destinen al uso público, los formatos a los que se refieren también deben estar definidos por una especificación publicada y posiblemente ofrecidos para la normalización. Los siete tipos de contenido predefinidos iniciales estándar se detallan en la mayor parte de este documento. Son: texto información textual. El subtipo principal, llano, indica el texto sin formato (sin formato). No se requiere ningún software especial para obtener el significado completo del texto, aparte de la compatibilidad con el conjunto de caracteres indicado. Los subtipos se utilizarán para el texto enriquecido en formularios en los que el software de aplicación puede mejorar la apariencia del texto, pero dicho software no debe ser necesario para obtener la idea general del contenido. Posibles subtipos incluyen por lo tanto cualquier formato de procesador de textos legible. Un subtipo muy simple y portátil, richtext, se define en este documento. Datos multipart consistentes en múltiples partes de tipos de datos independientes. Se definen cuatro subtipos iniciales, incluyendo el subtipo primario mixto, alternativo para representar los mismos datos en múltiples formatos, paralelo para partes destinadas a ser vistas simultáneamente, y digerir para entidades multiparte en las que cada parte es de tipo mensaje. Mensaje un mensaje encapsulado. Un cuerpo de mensaje de tipo de contenido es en sí mismo un mensaje conformado RFC 822 totalmente formateado que puede contener su propio campo de encabezado Content-Type diferente. El subtipo principal es rfc822. El subtipo parcial se define para los mensajes parciales, para permitir la transmisión fragmentada de cuerpos que se cree que son demasiado grandes para pasar a través de las instalaciones de transporte de correo. Otro subtipo, Externo-cuerpo, se define para especificar cuerpos grandes por referencia a una fuente de datos externa. Datos de imagen de imagen. La imagen requiere un dispositivo de visualización (como una pantalla gráfica, una impresora o una máquina de fax) para ver la información. Los subtipos iniciales se definen para dos formatos de imagen ampliamente utilizados, jpeg y gif. Datos de audio y audio, con subtipo inicial básico. El audio requiere un dispositivo de salida de audio (como un altavoz o un teléfono) para mostrar el contenido. Datos de vídeo. El video requiere la capacidad de mostrar imágenes en movimiento, incluyendo típicamente hardware y software especializados. El subtipo inicial es mpeg. Aplicación de algún otro tipo de datos, típicamente datos binarios no interpretados o información para ser procesados por una aplicación basada en correo. El subtipo principal, octet-stream, debe utilizarse en el caso de datos binarios no interpretados, en cuyo caso la acción más sencilla recomendada es ofrecer escribir la información en un archivo para el usuario. Se definen dos subtipos adicionales, ODA y PostScript, para el transporte de documentos ODA y PostScript en los cuerpos. Otros usos esperados para la aplicación incluyen hojas de cálculo, datos para sistemas de programación basados en correo electrónico y idiomas para correo electrónico activo (computacional). (Tenga en cuenta que el correo electrónico activo implica varias consideraciones de seguridad, que se tratan más adelante en este documento, en particular en el contexto de la aplicación / PostScript.) Los mensajes predeterminados RFC 822 se escriben en este protocolo como texto sin formato en el conjunto de caracteres US-ASCII. Explícitamente especificado como Content-type: text / plain charsetus-ascii. Si no se especifica Content-Type, ya sea por error o por un agente de usuario anterior, se asume que este valor predeterminado. En presencia de un campo de encabezado MIME-Version, un agente de usuario receptor también puede asumir que el texto US-ASCII simple era la intención del remitente. En ausencia de una especificación MIME-Version, el texto US-ASCII debe ser asumido, pero la intención de los remitentes podría haber sido de otra manera. Debe observarse que la lista de valores de Content-Type dada aquí puede ser aumentada en el tiempo, vía Los mecanismos descritos anteriormente, y que se espera que el conjunto de subtipos crezca sustancialmente. Cuando un lector de correo encuentra correo con un valor de tipo de contenido desconocido, generalmente debería tratarlo como equivalente a application / octet-stream, como se describe más adelante en este documento. Qué es un archivo adjunto MIME de aplicación / octet-stream y cómo puedo See it Un archivo adjunto MIME con el tipo de contenido application / octet-stream es un archivo binario. Normalmente, será una aplicación o un documento que debe abrirse en una aplicación, como una hoja de cálculo o un procesador de textos. Si el archivo adjunto tiene una extensión de nombre de archivo asociada a ella, es posible que pueda indicar qué tipo de archivo es. Una extensión. exe, por ejemplo, indica que es un programa de Windows o DOS (ejecutable), mientras que un archivo que termina en. doc probablemente está destinado a ser abierto en Microsoft Word. No importa qué tipo de archivo es, un accesorio de aplicación / octet-stream rara vez se puede ver en un correo electrónico, Usenet. O cliente web. Si está utilizando un cliente basado en texto, como Pine. Trn O Lynx. Guardar el archivo adjunto en su cuenta y, a continuación, transferirlo a su computadora personal utilizando SFTP. Si está utilizando un cliente basado en estación de trabajo, como Thunderbird u Outlook. La aplicación debe ser capaz de extraer y descargar el archivo adjunto automáticamente. Después de descargar un archivo adjunto a través de cualquiera de estos métodos, debe abrir el archivo adjunto en la aplicación adecuada para ver su contenido. Antes de abrir los archivos adjuntos, incluso de los remitentes de confianza, debe seguir las directrices que aparecen en Consejos para mantenerse seguros en línea. Además del tipo de contenido genérico application / octet-stream, también puede encontrar archivos adjuntos que tienen subtipos diferentes (por ejemplo, application / postscript, application / x-macbinary y application-msword). Son similares a application / octet-stream, pero se aplican a tipos específicos de archivos. Documentos relacionados Este es el documento agtj en la Base de Conocimientos. Última modificación el 2015-10-06 00:00:00. Llene este formulario para enviar su problema al Centro de soporte de UITS. Tenga en cuenta que debe estar afiliado a la Universidad de Indiana para recibir apoyo. Todos los campos son obligatorios. Rellene este formulario para enviar su comentario a la Base de conocimientos de IU. Si está afiliado a la Universidad de Indiana y necesita ayuda con un problema de computación, por favor use la sección Necesito ayuda con un problema de computación arriba, o comuníquese con su Centro de Soporte del Campus. MAILX (1) DESCRIPCIÓN Mailx es un sistema inteligente de procesamiento de correo que tiene Una sintaxis de comandos que recuerda a ed (1) con líneas reemplazadas por mensajes. Está basado en Berkeley Mail 8.1, tiene como objetivo proporcionar la funcionalidad del comando POSIX mailx y ofrece extensiones para MIME, IMAP, POP3, SMTP y S / MIME. Mailx proporciona funciones mejoradas para el uso interactivo, como almacenamiento en caché y operación desconectada para IMAP, subprocesamiento de mensajes, puntuación y filtrado. También es utilizable como un lenguaje de lotes de correo, tanto para enviar como para recibir correo. Se aceptan las siguientes opciones: Ejecuta un comando de cuenta (véase más adelante) para el nombre después de que se hayan leído los archivos de inicio. Adjunte el archivo dado al mensaje. Hacer la entrada estándar y la línea de salida estándar. Enviar copias de carbono ciego a la lista. La lista debe ser una lista de nombres separados por comas. Envíe copias de carbono a la lista de usuarios. Inicie en modo desconectado, consulte la descripción de la opción de variable desconectada. Habilita la depuración de mensajes y deshabilita la entrega real de mensajes. A diferencia de - v. Esta opción está destinada únicamente al desarrollo de mailx. Sólo compruebe si hay correo en el buzón del sistema. En caso afirmativo, devuelva un estado de salida de cero, de lo contrario, un valor distinto de cero. Si un mensaje saliente no contiene ningún texto en su primera o única parte del mensaje, no lo envíe, sino deséchelo silenciosamente, estableciendo de hecho la variable skipemptybody al inicio del programa. Esto es útil para enviar mensajes desde scripts iniciados por cron (8). Lea en el contenido del mbox del usuario (o el archivo especificado) para procesar cuando se sale de mailx, escribe mensajes no eliminados de nuevo en este archivo. El archivo de cadena se maneja como se describe para el comando de carpeta a continuación. Guarde el mensaje para enviar un archivo con el nombre de la parte local de la dirección del primer destinatario. Imprima los resúmenes de los encabezados para todos los mensajes y salga. Invoque sendmail con el recuento de saltos especificado. Esta opción no tiene ningún efecto cuando SMTP se utiliza para enviar correo. Ignorar las señales de interrupción tty. Esto es particularmente útil cuando se usa mailx en líneas telefónicas ruidosas. Muestra el 39Newsgroup: 39 o 39Article-Id: 39 campos en el resumen de cabecera. Sólo aplicable en combinación con - f. Inhibe la lectura de /etc/nail. rc al arrancar. Esta opción debe activarse para los scripts mailx que se invocan en más de una máquina, ya que el contenido de ese archivo puede diferir entre ellos. Inhibe la visualización inicial de los encabezados de los mensajes al leer el correo o editar una carpeta de correo. Envío de correo Para enviar un mensaje a una o más personas, se puede invocar mailx con argumentos que son los nombres de las personas a las que se enviará el correo. Se espera entonces que el usuario escriba su mensaje, seguido de un 39control-D39 al principio de una línea. La sección siguiente Respondiendo o enviando correo, describe algunas características de mailx disponibles para ayudar a la hora de componer letras. Lectura de correo En el uso normal mailx no recibe argumentos y comprueba el correo del usuario de la oficina de correos, luego imprime un encabezado de una línea de cada mensaje encontrado. El mensaje actual es inicialmente el primer mensaje (numerado 1) y se puede imprimir usando el comando de impresión que puede abreviarse 39p39). El usuario puede moverse entre los mensajes tanto como se mueve entre líneas en ed (1), con los comandos 3939 y 39-39 moviéndose hacia atrás y hacia delante, y números simples. Eliminación del correo Después de examinar un mensaje, el usuario puede borrar 39d39) el mensaje o respuesta 39r39). La eliminación hace que el programa mailx se olvide del mensaje. Esto no es irreversible el mensaje puede ser eliminado 39u39) dando su número, o la sesión mailx puede ser abortada dando el comando de salida 39x39). Sin embargo, los mensajes borrados normalmente desaparecen para no volver a verse. Especificación de mensajes Los comandos como imprimir y eliminar pueden recibir una lista de números de mensaje como argumentos para aplicar a una serie de mensajes a la vez. Así 39 suprime 1 2 39 suprime los mensajes 1 y 2, mientras que 39 suprime 1-5 39 suprime los mensajes 1 a 5. En el modo clasificado o roscado (vea los comandos de ordenar e hilo), 39 borrar 1-5 39 elimina los mensajes que son Situado entre (e incluyendo) los mensajes 1 a 5 en el orden ordenado / enhebrado, como se muestra en el resumen del encabezado. Existen los siguientes nombres de mensajes especiales: Todos los mensajes nuevos. Todos los mensajes que cumplen con criterio1 o criterio2. o ambos. Para conectar más de dos criterios usando 39 o 39, (o) las especificaciones tienen que ser anidados usando paréntesis adicionales, como con 39 (o un bc) 39 39 (o un b c) 39 medios ((ayb) yc). Para una operación simple 39 o 39 de criterios independientes sobre el nivel de anidación más bajo, es posible lograr efectos similares utilizando tres criterios separados, como 39 (a) (b) (c) 39. El mismo criterio que para la búsqueda anterior. Esta especificación no puede utilizarse como parte de otro criterio. Si la línea de comandos anterior contiene más de un criterio independiente, se utiliza el último de estos criterios. Un método práctico para leer un conjunto de mensajes es emitir un comando from con los criterios de búsqueda primero para comprobar los mensajes apropiados y para leer cada mensaje individual escribiendo 39 39 39 repetidamente. Respuesta o envío de correo El comando de respuesta se puede utilizar para configurar una respuesta a un mensaje, enviándola de nuevo a la persona de la que provenía. El texto que el usuario escribe a continuación, hasta un final de archivo, define el contenido del mensaje. Mientras el usuario está componiendo un mensaje, mailx trata líneas que comienzan con el carácter 39 39 especialmente. Por ejemplo, tecleando 39 m39 (solo en una línea) colocará una copia del mensaje actual en el derecho de respuesta desplazándolo por un tabstop (vea la variable indentprefix, más abajo). Otras escapes configuran campos de asunto, añaden y eliminan destinatarios al mensaje, adjuntan archivos a él y permiten al usuario escapar a un editor para revisar el mensaje oa un shell para ejecutar algunos comandos. Finalización de una sesión de procesamiento de correo El usuario puede finalizar una sesión mailx con el comando quit (39q39). Los mensajes que se han examinado van al archivo mbox del usuario a menos que se hayan eliminado, en cuyo caso se descartan. Los mensajes no examinados vuelven a la oficina de correos. (Vea la opción - f arriba). Listas de distribución personales y de todo el sistema También es posible crear listas de distribución personal para que, por ejemplo, el usuario pueda enviar correo a 39 cohortes 39 y hacer que se dirija a un grupo de personas. Tales listas se pueden definir colocando una línea como en el archivo. mailrc en el directorio personal del usuario. La lista actual de estos alias se puede mostrar con el comando alias en mailx. Las listas de distribución de todo el sistema se pueden crear editando / etc / aliases, ver alias (5) y sendmail (8) que se mantienen en una sintaxis diferente. En el correo que el usuario envía, los alias personales se expandirán en el correo enviado a otros para que puedan responder a los destinatarios. Los alias de sistema no se expanden cuando se envía el correo, pero cualquier respuesta devuelta a la máquina tendrá el alias de sistema ampliado como todo el correo pasa a través de sendmail. Especificaciones de la dirección del destinatario Cuando se utiliza una dirección para nombrar un destinatario (en cualquiera de las opciones To, Cc o Bcc), también se pueden especificar los nombres de las carpetas locales de correo y las tuberías de los comandos externos, luego se les escribe el texto del mensaje. Las reglas son: Cualquier nombre que comienza con un 39 39 carácter especifica un tubo, la cadena de comandos después de la 3939 se ejecuta y el mensaje se envía a su entrada estándar cualquier otro nombre que contiene un 39 39 carácter se trata como una dirección de correo cualquier Otro nombre que comienza con un carácter 39 39 especifica un nombre de carpeta cualquier otro nombre que contiene un carácter 39/39 pero no 39 39 o 39 39 carácter antes también especifica un nombre de carpeta lo que queda se trata como una dirección de correo. Las carpetas comprimidas se manejan como se describe para el comando de carpeta a continuación. Correo de red (Internet / ARPA, UUCP, Berknet) Consulte mailaddr (7) para obtener una descripción de las direcciones de red. Mailx tiene una serie de opciones que se pueden establecer en el archivo. mailrc para modificar su comportamiento así 39 set askcc 39 habilita la característica askcc. (Estas opciones se resumen a continuación). Tipos MIME Para cualquier adjunto saliente, mailx intenta determinar el tipo de contenido. Lo hace leyendo archivos de tipo MIME cuyas líneas tienen la siguiente sintaxis: donde type / subtype son cadenas que describen el contenido del archivo, y la extensión es la parte de un nombre de archivo que comienza después del último punto. Cualquier línea que no empiece inmediatamente con un carácter alfabético ASCII es ignorada por mailx. Si hay una coincidencia con la extensión del archivo para adjuntar, se utiliza el par de tipo / subtipo dado. De lo contrario, o si el nombre de archivo no tiene extensión, se utilizan los tipos de contenido text / plain o application / octet-stream, el primero para texto o archivos de texto internacionales, el segundo para cualquier archivo que contenga caracteres de formato distintos de newlines y tabuladores horizontales. Conjuntos de caracteres Mailx detecta normalmente el conjunto de caracteres del terminal utilizando la configuración regional LCCTYPE. Si no se puede usar la configuración regional apropiadamente, la variable ttycharset debe establecerse para proporcionar un valor explícito. Al leer mensajes, su texto se convierte en el juego de caracteres de terminal si es posible. Los caracteres no imprimibles y las secuencias de bytes ilegales se detectan y reemplazan por caracteres de sustitución Unicode o signos de interrogación a menos que se impriman todos los caracteres en el momento de la inicialización. El conjunto de caracteres para los mensajes salientes no es necesariamente el mismo que el utilizado en el terminal. Si un mensaje de texto saliente contiene caracteres no representables en US-ASCII, se debe declarar el conjunto de caracteres utilizado en su encabezado. Los valores permitidos se pueden declarar usando la variable sendcharsets, separados por comas. Mailx intenta cada uno de los valores en orden y usa el primero apropiado. Si el mensaje contiene caracteres que no pueden representarse en ninguno de los conjuntos de caracteres, el mensaje no se enviará y su texto se guardará en el archivo 39dead. letter39. Los mensajes que contienen bytes NUL no se convierten. Los adjuntos salientes se convierten si son texto sin formato. Si la variable sendcharsets contiene más de un nombre de conjunto de caracteres, el tilde escape solicitará los conjuntos de caracteres para los adjuntos individuales si se invoca sin argumentos. Los mejores resultados se logran generalmente cuando se ejecuta mailx en un UTF-8 localidad en un terminal capaz de UTF-8. En esta configuración, los caracteres de varios países se pueden mostrar, mientras que todavía es posible utilizar juegos de caracteres más simples para enviar para mantener la compatibilidad máxima con los clientes de correo más antiguos. Comandos Cada comando se escribe en una línea por sí mismo, y puede tomar argumentos después de la palabra de comando. El comando no necesita ser escrito en su totalidad - el primer comando que coincida con el prefijo tipificado se utiliza. Para los comandos que toman las listas de mensajes como argumentos, si no se proporciona ninguna lista de mensajes, se utiliza el mensaje siguiente que satisface los requisitos del comando. Si no hay mensajes delante del mensaje actual, la búsqueda procede hacia atrás, y si no hay buenos mensajes, mailx escribe 39 mensajes aplicables 39 y anula el comando. Si el comando comienza con un signo, la línea se ignora. Los argumentos a los comandos se pueden citar, utilizando los siguientes métodos: Un argumento puede ser encerrado entre comillas dobles o comillas simples 3939 cualquier espacio en blanco, expansión de la palabra shell o caracteres de barra invertida dentro de las comillas se tratan literalmente como parte del argumento . Una comilla doble será tratada literalmente entre comillas simples y viceversa. gramo. gramo.
No comments:
Post a Comment