Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Ceci est une ancienne révision du document !


Commandes du fichier msmtprc

Commandes générales

defaults
Définir les valeurs par défaut. Les commandes suivantes définiront les valeurs par défaut pour toutes les définitions de compte suivantes dans le fichier de configuration actuel.
account name [: account[,…]]
Commence une nouvelle définition de compte avec le nom donné. Les valeurs par défaut en cours sont renseignées. Si deux-points et une liste de comptes précédemment définis sont donnés après le nom du compte, le nouveau compte, avec les valeurs par défaut renseignées, héritera de tous les paramètres des comptes de la liste.
host hostname
Le serveur SMTP auquel envoyer le courrier. L'argument peut être un nom d'hôte ou une adresse réseau. Chaque définition de compte doit contenir cette commande.
port number
Port d'écoute du serveur SMTP. La valeur par défaut est 25 (“smtp”), sauf si TLS est utilisé sans STARTTLS, auquel cas c'est 465 (“smtps”).
source_ip [IP]
Définit une adresse IP source à laquelle lier la connexion sortante. Utile seulement dans des cas particuliers, sur les systèmes multi-home. Un argument vide le désactive.
proxy_host [IP|hostname]
Utiliser un proxy SOCKS. Tout le trafic réseau passera par cet hôte proxy, y compris les requêtes DNS, à l'exception d'une requête DNS qui pourrait être nécessaire pour résoudre le nom d'hôte proxy lui-même (cela peut être évité en utilisant une adresse IP comme nom d'hôte proxy).Un argument vide désactive l'utilisation du proxy.
proxy_port [number]
Numéro de port pour l'hôte proxy. Un argument [number] vide le réinitialise au port par défaut, qui est 1080 (“socks”).
socket [socketname]
Nom de fichier d'un socket de domaine Unix auquel se connecter. Cela remplace à la fois 'host'/'port' et 'proxy_host'/'proxy_port'.
timeout (off|seconds)
Définit ou désactive un délai d'attente du réseau, en secondes. L'argument “off” signifie qu'aucun délai d'attente ne sera défini, ce qui signifie que la valeur par défaut du système d'exploitation sera utilisée.
protocol (smtp|lmtp)
Protocole à utiliser. Actuellement, seuls SMTP et LMTP sont pris en charge. SMTP est la valeur par défaut.
domain argument
Cette commande définit l'argument de la commande SMTP EHLO (ou LMTP LHLO). La valeur par défaut est 'localhost', ce qui est stupide mais fonctionne généralement. Essayez de modifier la valeur par défaut si les e-mails sont rejetés en raison de mesures anti-SPAM. Les choix possibles sont la partie domaine de votre adresse e-mail (provider.example pour joe@provider.example) ou le nom de domaine complet de votre hébergeur (si disponible). Les modèles de substitution suivants sont pris en charge :
  • %H sera remplacé par $HOSTNAME, ou en cas d'échec par le nom d'hôte du système.
  • %C sera remplacé par le nom canonique de %H.
  • %M sera remplacé par le contenu de /etc/mailname (potentiellement, un répertoire différent est utilisé en fonction de la configuration de construction ; consultez la sortie de « msmtp –version » et recherchez l'emplacement du fichier de configuration système).

Commandes d'authentification

auth [(on|off|method)]
Activation ou désaction de l'authentification et choix éventuel de la méthode à utiliser. L'argument on choisit automatiquement une méthode. Les méthodes acceptées sont plain, scram-sha-1, scram-sha-256, oauthbearer, xoauth2, cram-md5, gssapi, external, digest-md5, login et ntlm.
user [username]
Nom d'utilisateur pour l'authentification. Un argument vide annule le nom d'utilisateur. L'authentification doit être activée avec la commande auth.
password [secret]
Mot de passe pour l'authentification. Un argument vide annule le mot de passe. Envisagez d'utiliser la commande passwordeval ou un trousseau de clés à la place de cette commande, pour éviter de stocker des mots de passe en clair dans le fichier de configuration.
passwordeval [eval]
Définit le mot de passe pour l'authentification sur la sortie (stdout) de la commande eval.

Cela peut être utilisé par ex. pour déchiffrer des fichiers de mots de passe à la volée ou pour interroger des trousseaux de clés, et ainsi éviter de stocker des mots de passe en clair.

Notez que la commande eval ne doit pas interférer avec l'entrée standard (stdin) car c'est là que msmtp lit le courrier. En cas de doute, ajoutez < /dev/null à eval.

Commandes TLS

tls [(on|off)]
Active ou désactive TLS (également connu sous le nom de SSL) pour les connexions sécurisées.
tls_starttls [(on|off)]
Choisir la variante TLS : démarrer TLS depuis la session (“on”, par défaut) ou tunnelez la session via TLS (“off”).
tls_trust_file [file]
Active la vérification du certificat du serveur à l'aide d'une liste d'autorités de certification (CA) de confiance.

La valeur par défaut est la valeur spéciale system, qui sélectionne la valeur par défaut du système.

Un argument vide désactive la confiance dans les autorités de certification.

Si vous sélectionnez un fichier, il doit être au format PEM et vous devez également utiliser tls_crl_file.

tls_fingerprint [fingerprint]
Définit l'empreinte digitale d'un seul certificat à accepter pour TLS.

Ce certificat sera approuvé quel que soit son contenu (cela remplace tls_trust_file).

L'empreinte digitale doit être de type SHA256, mais peut également être de type SHA1 ou MD5 pour la rétrocompatibilité (à éviter).

Le format doit être 01:23:45:67:…. Utilisez '–serverinfo –tls –tls-certcheck=off –tls-fingerprint=' pour obtenir l'empreinte du certificat du serveur.

tls_key_file [file]
Envoyez un certificat client au serveur (utilisez-le avec « tls_cert_file »).

Le fichier doit contenir la clé privée d'un certificat au format PEM.

Un argument vide désactive cette fonctionnalité.

tls_cert_file [file]
Envoyer un certificat client au serveur (utilisez-le avec « tls_key_file »).

Le fichier doit contenir un certificat au format PEM.

Un argument vide désactive cette fonctionnalité.

tls_certcheck [(on|off)]
Active ou désactive les vérifications du certificat du serveur.

Ils sont activés par défaut.

Les désactiver remplacera ‘tls_trust_file’ et ‘tls_fingerprint’.

ATTENTION : Lorsque les vérifications sont désactivées, les sessions TLS ne seront pas sécurisées !

tls_priorities [priorities]
Définit des priorités pour les paramètres de session TLS.

La valeur par défaut est définie par la bibliothèque TLS et peut être sélectionnée en utilisant un argument vide pour cette commande.

L'interprétation de la chaîne de priorités dépend de la bibliothèque TLS.

Utilisez '–version' pour savoir quelle bibliothèque TLS vous utilisez.

Pour GnuTLS, consultez la section sur les chaînes prioritaires dans le manuel.

Pour libtls, la chaîne de priorités est une liste de chaînes de paramètres séparées par des espaces et préfixées avec PROTOCOLS=, CIPHERS= ou ECDHECURVES=.

Ces chaînes de paramètres seront transmises aux fonctions « tls_config_parse_protocols », « tls_config_set_ciphers » et « tls_config_set_ecdhecurves ».

Les parties non reconnues de la chaîne des priorités seront ignorées.

Exemple : PROTOCOLS=TLSv1.3 CIPHERS=ECDHE-RSA-AES128-SHA256 ECDHECURVES=P384.

tls_host_override [host]
Par défaut, la vérification de l'hôte TLS utilise le nom d'hôte donné par la commande “host”.

Cette commande permet d'utiliser un nom d'hôte différent pour la vérification.

Ceci n'est utile que dans des cas particuliers.

Commandes propres au mode sendmail

‘from [address]’
Set the envelope-from address. The following substitution patterns are supported:
  • %U will be replaced by $USER, or if that fails by $LOGNAME, or if that fails by the login name of the user running msmtp.
  • %H will be replaced by $HOSTNAME, or if that fails by the host name of the system.
  • %C will be replaced by the canonical name of %H.
  • %M will be replaced by the contents of /etc/mailname (potentially a different directory is used depending on the build configuration; see the output of ‘msmtp –version’ and look for the location of the system configuration file).

To enforce the use of this envelope-from address and ignore the ‘-f’ / ‘–from’ option, see [allow from override], page 6. See Section 7.1 [Envelope-from address], page 20. Furthermore, the envelope-from address may be a wildcard pattern as used for file name matching in the shell. This is the case if it contains one of the characters ?, * or [. This allows a variety of envelope-from addresses given with the ‘–from’ option to match a single account.

‘allow_from_override (on|off)’
By default, the [–from], page 11, option overrides the [from], page 5, command. Set to ‘off’ to disable this.
‘dsn_notify (off|condition)’
Set the condition(s) under which the mail system should send DSN (Delivery Status Notification) messages. The argument ‘off’ disables explicit DSN requests, which means the mail system decides when to send DSN messages. This is the default. The condition must be ‘never’, to never request notification, or a comma separated list (no spaces!) of one or more of the following: ‘failure’, to request notification on transmission failure, ‘delay’, to be notified of message delays, ‘success’, to be notified of successful transmission. The SMTP server must support the DSN extension. See Chapter 6 [Delivery Status Notifications], page 19.
‘dsn_return (off|amount)’
This command controls how much of a mail should be returned in DSN (Delivery Status Notification) messages. The argument ‘off’ disables explicit DSN requests, which means the mail system decides how much of a mail it returns in DSN messages. This is the default. The amount must be ‘headers’, to just return the message headers, or ‘full’, to return the full mail. The SMTP server must support the DSN extension. See Chapter 6 [Delivery Status Notifications], page 19.
‘set_from_header [(auto|on|off)]’
When to set a From header: ‘auto’ adds a From header if the mail does not have one (this is the default), ‘on\’ always sets a From header and overrides any existing one, and ‘off’ never sets a From header. If the mail server rejects the mail because its From header does not match the envelope from address (a common anti-spam measure), then you might want to set this option to ‘on’. The From header is created based on the envelope-from address. Disable [allow from override], page 6, to prevent programs from setting their own envelope-from address. For compatibility with older versions, add_missing_from_header [(on|off)]’ is still supported and corresponds to the ‘auto’ and ‘off’ settings. See Section 7.3 [Header handling], page 20.
set_date_header [(auto|off)]’
When to set a Date header: ‘auto’ adds a Date header if the mail does not have one (this is the default), and ‘off’ never sets a Date header. For compatibility with older versions, ‘add_missing_date_header [(on|off)]’ is still supported and corresponds to the ‘auto’ and ‘off’ settings. See Section 7.3 [Header handling], page 20.
‘remove_bcc_headers [(on|off)]’
This command controls whether to remove Bcc headers. The default is to remove them.
‘undisclosed_recipients [(on|off)]’
When set, the original To, Cc, and Bcc headers of the mail are removed and a single new header line “To: undisclosed-recipients:;” is added. The default setting is off. See Section 7.3 [Header handling], page 20.
‘logfile [file]’
Enable logging to the specified file. An empty argument disables logging. The file name ‘-’ directs the log information to standard output. See Section 7.2 [Logging], page 20.
‘logfile_time_format [fmt]’
Set or unset the log file time format. This will be used as the format string for the strftime() function. An empty argument chooses the default (‘“%b %d %H:%M:%S”’). See Section 7.2 [Logging], page 20.
‘syslog [(on|off|facility)]’
Enable or disable syslog logging. The facility can be one of ‘LOG_USER’, ‘LOG_MAIL’, ‘LOG_LOCAL0’, . . . , ‘LOG_LOCAL7’. The default is ‘LOG_USER’. Syslog logging is disabled by default. See Section 7.2 [Logging], page 20.
‘aliases [file]’
Replace local recipients with addresses in the aliases file. The aliases file is a cleartext file containing mappings between a local address and a list of replacement addresses. The mappings are of the form: local: someone@example.com, person@domain.example Multiple replacement addresses are separated with commas. Comments start with ’#’ and continue to the end of the line. The local address ‘default’ has special significance and is matched if the local address is not found in the aliases file. If no ‘default’ alias is found, then the local address is left as is. An empty argument to the aliases command disables the replacement of local addresses. This is the default.
‘auto_from [(on|off)]’
Obsolete; you can achieve the same and more using the substitution patterns of the ‘from’ command. Enable or disable automatic envelope-from addresses. The default is ‘off’. When enabled, an envelope-from address of the form user@domain will be generated. The local part will be set to USER or, if that fails, to LOGNAME or, if that fails, to the login name of the current user. The domain part can be set with the ‘maildomain’ command; if that is empty, the address not have a domain part. See Section 7.1 [Envelope-from address], page 20.

Voir aussi