AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

mhbuildmh - En ligne dans le Cloud

Exécutez mhbuildmh dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande mhbuildmh qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


mhbuild - traduire le brouillon de composition MIME

SYNOPSIS


mhbuild filet [-voiture | -noauto] [-liste | -nolist] [-réaliser | -norrealsize] [-en-têtes |
-pas d'en-tête] [-directives | -pas de directives] [-mode rfc934 | -norfc934mode] [-id de contenu |
-nocontentid] [-verbeux | -non verbeux] [-disposition | -pas de disposition] [-vérifier |
-pas de contrôle] [-en-tête encodage algorithme-encodage | -codage d'en-tête automatique] [-maxunencodé
longueur de la ligne] [-dist] [-version] [-Aide]

DESCRIPTION


La mhbuild La commande traduira un brouillon de composition MIME en un message MIME valide.

mhbuild crée des messages multimédias comme spécifié dans les RFC 2045 à RFC 2049. Cela inclut
l'encodage des en-têtes de message tel que spécifié par la RFC 2047, et l'encodage de MIME
paramètres tels que spécifiés dans la RFC 2231.

Si vous spécifiez le nom du fichier de composition comme « - », alors mhbuild acceptera le
projet de composition sur l'entrée standard. Si la traduction de cette entrée est réussie,
mhbuild affichera le nouveau message MIME sur la sortie standard. Cet argument doit être
le dernier argument de la ligne de commande.

Sinon, si l'argument de fichier à mhbuild est le nom d'un fichier de composition valide, et le
la traduction est réussie, mhbuild remplacera le fichier d'origine par le nouveau MIME
un message. Il renommera le fichier d'origine pour commencer par le caractère « », et se terminer par
la chaîne « .orig », par exemple, si vous modifiez le fichier « draft », il sera renommé en
", brouillon.orig". Cela vous permet de récupérer facilement les mhbuild fichier d'entrée.

inscription le Table des matières
La -liste l'interrupteur dit mhbuild pour lister la table des matières associée au MIME
message qui est créé.

La -en-têtes indique qu'une bannière d'une ligne doit être affichée au-dessus du
référencement. Le -réaliser l'interrupteur dit mhbuild pour évaluer le format « natif » (décodé) de
chaque contenu avant l'inscription. Cela fournit un décompte précis au détriment d'un petit
retard. Si la -verbeux est présent, la liste affichera tout « extra »
des informations présentes dans le message, telles que des commentaires dans l'en-tête « Content-Type ».

Si la -disposition est présent, la liste affichera toute information pertinente
à partir de l'en-tête « Contenu-Disposition ».

Simplifié L'attachement Interfaces
Pour les utilisateurs qui souhaitent simplement joindre des fichiers au contenu texte, mhbuild va scanner le
fichier de composition pour les en-têtes « Attacher ». Un en-tête « Attacher » contient un nom de fichier qui
être ajouté au message en utilisant les règles d'encapsulation MIME normales. Un nom de fichier est autorisé
par en-tête « Attach », mais plusieurs en-têtes « Attach » sont autorisés dans le fichier de composition.

Ces fichiers seront ajoutés après tout autre contenu MIME, y compris tout contenu spécifié
by mhbuild directives (voir ci-dessous). Voir envoyer(1) pour plus de détails.

Traduction en cours le Composition Déposez votre dernière attestation
mhbuild est essentiellement un filtre pour aider à la composition des messages MIME. mhbuild sera
convertir un mhbuild « fichier de composition » dans un message MIME valide. UNE mhbuild "composition
file" est juste un fichier contenant du texte brut entrecoupé de divers mhbuild
directives. Lorsque ce fichier est traité par mhbuild, les différentes directives seront
étendu au contenu approprié et sera encodé selon les normes MIME.
Le message MIME résultant peut alors être envoyé par courrier électronique.

La syntaxe formelle d'un mhbuild le fichier de composition est défini à la fin de ce document,
mais les idées derrière ce format ne sont pas complexes. Fondamentalement, le corps contient un ou
plus de contenu. Un contenu se compose soit d'une directive, indiquée par un « # » comme
premier caractère d'une ligne ; ou, en clair (une ou plusieurs lignes de texte). La continuation
Le caractère « \ » peut être utilisé pour saisir une seule directive sur plus d'une ligne, par exemple,

#image/png\
/home/foobar/junk/image.png

Il existe cinq types de directives : les directives « type », qui nomment le type et le sous-type de
le contenu; les directives « external-type », qui nomment également le type et le sous-type du
teneur; la directive « message » (#forw), qui permet de transférer un ou plusieurs messages ;
la directive « begin » (#begin), qui est utilisée pour créer un contenu en plusieurs parties ; et le
les directives « on/off/pop » (#on, #off, #pop) qui contrôlent si d'autres directives sont
honoré du tout.

La -directives Le commutateur permet de contrôler si mhbuild honorera l'un des
"#"-directives. Cela peut également être affecté par les directives #on ou #off, et #pop,
qui restitue l'état de traitement à celui précédant le plus récent #on ou #off.
(Les directives #on, #off et #pop sont toujours respectées, bien sûr.) Cela permet l'inclusion
de texte brut qui ressemble à des directives mhbuild, sans provoquer d'erreurs :

#désactivé
#inclut
printf("Bonjour tout le monde !);
#populaire

Actuellement, la profondeur de la pile pour les directives #on/off/pop est de 32.

La directive « type » est utilisée pour spécifier directement le type et le sous-type d'un contenu. Tu
ne peut spécifier que des types discrets de cette manière (ne peut pas spécifier les types multipart ou
message avec cette directive). Vous pouvez éventuellement spécifier le nom d'un fichier contenant
le contenu au format « natif » (décodé). Si ce nom de fichier commence par le « | »
caractère, alors il représente une commande à exécuter dont la sortie est capturée en conséquence.
Par exemple,

#audio/basic |raw2audio -F < /usr/lib/sound/giggle.au

Si un nom de fichier n'est pas donné, mhbuild recherchera des informations dans le profil de l'utilisateur pour
déterminer comment les différents contenus doivent être composés. Ceci est accompli par
consulter une chaîne de composition et l'exécuter sous / Bin / sh, avec la sortie standard
réglé sur le contenu. Si la -verbeux l'interrupteur est donné, mhbuild fera écho à toutes les commandes qui
sont utilisés pour créer des contenus de cette manière.

La chaîne de composition peut contenir les échappements suivants :

%a Insérer des paramètres à partir de la directive
%f Insérer le nom de fichier contenant le contenu
%F %f, et stdout n'est pas redirigé
%s Insérer un sous-type de contenu
%% Insérer un caractère %

Tout d'abord, mhbuild cherchera une entrée de la forme :

mhbuild-compose- /

pour déterminer la commande à utiliser pour composer le contenu. Si cela n'est pas trouvé, mhbuild sera
recherchez une entrée de la forme :

mhbuild-compose-

pour déterminer la commande de composition. Si cela n'est pas trouvé, mhbuild va se plaindre.

Un exemple d'entrée pourrait être :

mhbuild-compose-audio/basic : enregistrement | raw2audio -F

Étant donné que de telles commandes varient en fonction de l'environnement d'affichage utilisé pour
login, les chaînes de composition pour différents contenus devraient probablement être mises dans le fichier
spécifié par le $MHCONSTRUCTION variable d'environnement, au lieu de directement dans votre profil utilisateur.

Les directives « external-type » sont utilisées pour fournir une référence MIME à un contenu, plutôt
que d'enfermer le contenu lui-même (par exemple, en spécifiant un site ftp). D'où,
au lieu de fournir un nom de fichier comme avec les directives de type, les paramètres externes sont
fourni. Ceux-ci ressemblent à des paramètres normaux, ils doivent donc être séparés en conséquence. Pour
Par exemple,

#@application/octet-stream ; \
type=goudron ; \
conversions=compresser \
[c'est la distribution nmh] \
{attachement; nom de fichier="nmh.tar.gz"} \
nom="nmh.tar.gz" ; \
répertoire="/pub/nmh" ; \
site="ftp.math.gatech.edu" ; \
type d'accès=anon-ftp ; \
mode="image"

Vous devez donner une chaîne de description pour séparer les paramètres de contenu de l'externe-
paramètres (bien que cette chaîne puisse être vide). Cette chaîne de description est spécifiée par
en l'entourant de "[]". Une chaîne de disposition, à apparaître dans un « Content-Disposition »
en-tête, peut apparaître dans le "{}" facultatif.

Ces paramètres sont de la forme :

access-type= généralement anonyme-ftp, serveur de courrierou url
nom = nom de fichier
permission= lecture seule ou lecture-écriture
site=nom d'hôte
répertoire= nom du répertoire (facultatif)
mode = généralement ascii or image (Optionnel)
taille= nombre d'octets
serveur = boîte aux lettres
sujet = sujet à envoyer
body= commande à envoyer pour récupération
url= URL du contenu

Une directive minimale de « type externe » pour le url Type d'accès serait comme suit:

#@application/octet-stream [] access-type=url ; \
url="http://download.savannah.gnu.org/releases/nmh/nmh-1.5.tar.gz"

Toutes les URL longues seront encapsulées conformément aux règles RFC 2231.

La directive « message » (#forw) est utilisée pour spécifier un message ou un groupe de messages à
comprendre. Vous pouvez éventuellement spécifier le nom du dossier et quels messages doivent être
transmis. Si un dossier n'est pas fourni, il s'agit par défaut du dossier actuel. De même, si un
message n'est pas donné, il s'agit par défaut du message actuel. Par conséquent, la directive message est
similaire à l' avant commande, sauf que la première utilise les règles MIME pour l'encapsulation
plutôt que ceux spécifiés dans la RFC 934. Par exemple,

#forw +boîte de réception 42 43 99

Si vous incluez un seul message, il sera inclus directement en tant que contenu de type
« message/rfc822 ». Si vous incluez plus d'un message, alors mhbuild ajoutera un contenu
de type « multipart/digest » et inclure chaque message en tant que sous-partie de ce contenu.

Si vous utilisez cette directive pour inclure plus d'un message, vous pouvez utiliser le
-mode rfc934 changer. Ce commutateur indiquera que mhbuild devrait essayer d'utiliser le
Les règles d'encapsulation MIME de telle sorte que le « multipart/digest » créé soit
(principalement) compatible avec l'encapsulation spécifiée dans la RFC 934. Si elle est donnée, alors la RFC 934
les agents utilisateurs conformes devraient être capables d'éclater le message à la réception -- à condition que
les messages encapsulés ne contiennent pas de messages encapsulés eux-mêmes. Les
L'inconvénient de cette approche est que les encapsulations sont générées en plaçant un
saut de ligne à la fin du corps de chaque message.

La directive « begin » est utilisée pour créer un contenu en plusieurs parties. Lorsque vous utilisez le « commencer »
directive, vous devez spécifier au moins un contenu entre les paires de début et de fin.

#commencer
Ce sera un multipart avec une seule partie.
#end

Si vous utilisez plusieurs directives dans un brouillon de composition, mhbuild sera automatiquement
les encapsuler dans un contenu en plusieurs parties. Par conséquent, la directive « begin » n'est
nécessaire si vous souhaitez utiliser des multiparts imbriqués, ou créer un message multipart contenant
une seule partie.

Pour toutes ces directives, l'utilisateur peut inclure une brève description du contenu
entre le caractère « [ » et le caractère « ] ». Cette description sera copiée dans le
En-tête « Content-Description » lorsque la directive est traitée.

#forw [courrier important de Bob] +bob 1 2 3 4 5

De même, une chaîne de disposition peut éventuellement être fournie entre les caractères « { » et « } » ;
il sera copié dans l'en-tête « Content-Disposition » lors du traitement de la directive.
Si une chaîne de disposition est fournie qui ne contient pas de paramètre de nom de fichier et un
le nom de fichier est fourni dans la directive, il sera ajouté à la "Content-Disposition"
entête. Par exemple, la directive suivante :

#texte simple; jeu de caractères=iso-8859-1 <>{pièce jointe} /tmp/summary.txt

crée ces en-têtes de partie de message :

Type de contenu : text/plain ; jeu de caractères="iso-8859-1"
Contenu-Disposition : pièce jointe ; nom de fichier="résumé.txt"

Par défaut, mhbuild générera un « ID de contenu : » unique pour chaque directive, correspondant
à chaque partie du message ; cependant, l'utilisateur peut outrepasser cela en définissant l'ID à l'aide du "<"
et les caractères « > ». Les -nocontentid le commutateur supprime la création de tous les « ID de contenu : »
en-têtes, même au niveau supérieur du message.

Normalement mhbuild choisira un codage de transfert de contenu approprié en fonction du contenu
et le type de contenu MIME. Cependant, vous pouvez remplacer cela dans un mhbuild directive de
en précisant « * » et l'encodage. Les valeurs de codage acceptables sont « 8bit », « qpρq (pour
quoted-printable) et "b64" (pour l'encodage base64). Il convient de noter que les indésirables
des résultats peuvent se produire si 8 bits ou quoted-printable est sélectionné pour le contenu binaire, en raison de la
traduction entre les fins de ligne Unix et les fins de ligne utilisées par le transport de courrier
système.

En plus des diverses directives, du texte en clair peut être présent. Le texte clair est rassemblé,
jusqu'à ce qu'une directive soit trouvée ou que le projet soit épuisé, et cela est fait pour former un texte
teneur. Si le texte en clair doit contenir un « # » au début d'une ligne, doublez simplement
il, par exemple,

## lors de l'envoi, cette ligne commencera par un seul #

Si vous souhaitez terminer le texte en clair avant une directive, par exemple, pour avoir deux textes en clair
contenu adjacent, insérez simplement une ligne contenant un seul caractère « # », par exemple,

c'est le premier contenu
#
et c'est le deuxième

Enfin, si le texte en clair commence par une ligne de la forme :

Contenu-Description : texte

alors cela sera utilisé pour décrire le contenu en clair. Vous DEVEZ suivre cette ligne avec
une ligne vierge avant de commencer votre texte.

Par défaut, le texte brut est capturé sous forme de texte/contenu brut. Vous pouvez annuler cela en
en commençant le texte en clair par "#<" suivi d'une spécification de type de contenu. Par exemple,
par exemple :

#
ce contenu sera étiqueté comme texte/enrichi
#
et ce contenu sera étiqueté comme text/plain
#
#
et ce contenu sera étiqueté comme application/x-patch

Notez que si vous utilisez la forme en texte brut « #< », alors la description du contenu doit être sur le
même ligne qui identifie le type de contenu du texte en clair.

Lors de la composition d'un contenu textuel, vous pouvez indiquer le jeu de caractères pertinent en ajoutant le
paramètre "charset" à la directive.

#

Si un contenu de texte contient des caractères de 8 bits (caractères avec le bit de poids fort) et le
jeu de caractères n'est pas spécifié comme ci-dessus, alors mhbuild supposera que le jeu de caractères est de
le type donné par la norme local(1) variables d'environnement. Si ces environnements
les variables ne sont pas définies, alors le jeu de caractères sera étiqueté comme « x-inconnu ».

Si un contenu de texte ne contient que des caractères 7 bits et que le jeu de caractères n'est pas spécifié comme
ci-dessus, le jeu de caractères sera étiqueté comme « us-ascii ».

Par défaut, le contenu du texte avec le bit élevé est encodé avec un 8 bits
Contenu-Transfer-Encodage. Si le texte a des lignes plus longues que la valeur de -maxunencodé
(qui est par défaut à 78), le texte est encodé à l'aide de l'encodage imprimable cité.

La -en-tête encodage le commutateur indiquera quel algorithme utiliser lors de l'encodage d'un message
en-têtes contenant des caractères 8 bits. Les arguments valables sont base64 pour base-64
l'encodage et cité pour l'encodage imprimable entre guillemets. Les -codage d'en-tête automatique interrupteur va
instruire mhbuild pour choisir automatiquement l'algorithme qui aboutit à un encodage plus court
chaîne.

En mettant tout cela ensemble, voici un exemple de brouillon de message plus compliqué. Les
Le brouillon suivant se développera en un message en plusieurs parties/mixte contenant cinq parties :

À: [email protected]
cc:
Sujet : Regardez-moi et écoutez-moi !
--------
La première partie sera text/plain
#
La deuxième partie sera textuelle/enrichie
#
Cette troisième partie sera text/plain
#audio/basic [rire idiot] \
|raw2audio -F < /usr/lib/sounds/giggle.au
#image/gif [photo de foobar] \
/home/foobar/lib/image.gif

Intégrité En cliquant
If mhbuild est donné le -vérifier switch, alors il associera également un contrôle d'intégrité avec
chaque contenu « feuille ». Cela ajoutera un champ d'en-tête Content-MD5 au contenu, ainsi que
la somme md5 du contenu non codé, conformément à la RFC 1864. Cela peut être utilisé par le récepteur de
le message pour vérifier que le contenu du message n'a pas été modifié pendant le transport.

Transferts Encodages
Après mhbuild construit le nouveau message MIME en analysant les directives, y compris les fichiers,
etc., il analyse le contenu du message pour déterminer quel codage de transfert utiliser.
Il vérifiera les données 8 bits, les longues lignes, les espaces à la fin des lignes et les conflits avec
frontières en plusieurs parties. Il choisira alors un encodage de transfert approprié pour chaque
type de contenu.

Si un contrôle d'intégrité est associé à chaque contenu à l'aide de la -vérifier commutateur,
puis mhbuild encodera chaque contenu avec un encodage de transfert, même le contenu
ne contient que des données 7 bits. Cela augmente la probabilité que le contenu ne soit pas
changé pendant le transport.

Invoquer mhbuild
Typiquement, mhbuild est invoqué par le et maintenant programme. Cette commande attendra le corps
du projet à formater comme un mhbuild fichier de composition. Une fois que vous avez composé ce
fichier d'entrée à l'aide d'une commande telle que comp, remplacerou avant, tu invoques mhbuild au "Quoi
maintenant" invite avec

Et maintenant? mime

avant d'envoyer le brouillon. Cela provoquera et maintenant éxécuter mhbuild traduire le
fichier de composition au format MIME.

Normalement, c'est une erreur d'invoquer mhbuild sur un fichier déjà au format MIME. Les -voiture
l'interrupteur provoquera mhbuild pour sortir sans erreur si le fichier d'entrée a déjà un MIME valide
en-têtes. L'utilisation de -voiture permet également la -pas de directives interrupteur.

Enfin, vous devriez envisager d'ajouter cette ligne à votre profil :

lproc : afficher

De cette façon, si vous décidez de liste après avoir invoqué mime, la commande

Et maintenant? liste

fonctionnera comme vous l'attendez.

La -dist l'interrupteur est destiné à être utilisé par dist. Cela empêchera mhbuild de générer
tous les en-têtes MIME dans le fichier de composition (tels que "MIME-Version" ou "Content-Type"), mais
il encodera toujours les en-têtes de message conformément à la RFC 2047.

Utilisateur Environment
Parce que l'environnement dans lequel mhbuild fonctionne peut varier pour un utilisateur, mhbuild jettera un coup d'oeil
pour la variable d'environnement $MHCONSTRUCTION. S'il est présent, cela spécifie le nom d'un
profil d'utilisateur supplémentaire qui doit être lu. Par conséquent, lorsqu'un utilisateur se connecte à un
machine, cette variable d'environnement doit être définie pour faire référence à un fichier contenant des définitions
utile pour cette machine.

Enfin, mhbuild tentera de consulter

/etc/nmh/mhn.defaults

S'il existe.

Voir « Recherche de profil » dans mh-profil(5) pour l'ordre de recherche de profil, et pour savoir comment dupliquer
les entrées sont traitées.

Syntaxe of Composition Fichiers
Voici la syntaxe formelle d'un mhbuild « fichier de composition ».

corps ::= 1*(contenu | EOL)

contenu ::= directive | texte en clair

directive ::= "#" type "/" sous-type
0*(";" attribut "=" valeur)
[ "(" commenter ")" ]
[ "<" identifiant ">" ]
[ "[" la description "]" ]
[ "{" disposition "}" ]
[ "*8 bits" | "*qp" | "*b64" ]
[ nom de fichier ]
EOL

| "#@" type "/" sous-type
0*(";" attribut "=" valeur)
[ "(" commenter ")" ]
[ "<" identifiant ">" ]
[ "[" la description "]" ]
[ "{" disposition "}" ]
[ "*8 bits" | "*qp" | "*b64" ]
paramètres-externes
EOL

| "#forw"
[ "<" identifiant ">" ]
[ "[" la description "]" ]
[ "{" disposition "}" ]
[ "+" dossier ] [ 0*msg ]
EOL

| "#commencer"
[ "<" identifiant ">" ]
[ "[" la description "]" ]
[ "{" disposition "}" ]
[ "alternative"
| "parallèle"
| autre chose ]
EOL
1 * corps
EOL "#fin"

plaintext ::= [ "Description du contenu :"
description EOL EOL ]
1 * ligne
[ " # " EOL ]

| "#<" type "/" sous-type
0*(";" attribut "=" valeur)
[ "(" commenter ")" ]
[ "[" la description "]" ]
[ "{" disposition "}" ]
[ "*8 bits" | "*qp" | "*b64" ]
EOL
1 * ligne
[ " # " EOL ]

ligne ::= "##" texte EOL
-- interprété comme "#" texte EOL
| texte EOL

Utilisez mhbuildmh en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Chargeur de démarrage Clover EFI
    Chargeur de démarrage Clover EFI
    Le projet a déménagé à
    https://github.com/CloverHackyColor/CloverBootloader..
    Fonctionnalités : démarrer macOS, Windows et Linux
    en mode UEFI ou legacy sur Mac ou PC avec
    UE...
    Télécharger le chargeur de démarrage Clover EFI
  • 2
    Unitedrpms
    Unitedrpms
    Rejoignez-nous à Gitter !
    https://gitter.im/unitedrpms-people/Lobby
    Activez le référentiel URPMS dans votre
    système -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Télécharger unitedrpms
  • 3
    Boostez les bibliothèques C++
    Boostez les bibliothèques C++
    Boost fournit un portable gratuit
    bibliothèques C++ évaluées par des pairs. Les
    l'accent est mis sur les bibliothèques portables qui
    fonctionnent bien avec la bibliothèque standard C++.
    Voir http://www.bo...
    Télécharger les bibliothèques Boost C++
  • 4
    VirtuelGL
    VirtuelGL
    VirtualGL redirige les commandes 3D d'un
    Application Unix/Linux OpenGL sur un
    GPU côté serveur et convertit le
    rendu des images 3D dans un flux vidéo
    avec lequel ...
    Télécharger VirtualGL
  • 5
    libusb
    libusb
    Bibliothèque pour activer l'espace utilisateur
    programmes d'application pour communiquer avec
    Périphériques USB. Public : Développeurs, Fin
    Utilisateurs/Bureau. Langage de programmation : C
    Catégories ...
    Télécharger libusb
  • 6
    LAMPÉE
    LAMPÉE
    SWIG est un outil de développement logiciel
    qui relie les programmes écrits en C et
    C++ avec une variété de
    langages de programmation. SWIG est utilisé avec
    différent...
    Télécharger SWIG
  • Plus "

Commandes Linux

Ad