aucun fichier…
Je souhaite éviter l’utilisation de exim4 et mutt qui me semble à présent “disproportionné”… non ?
aucun fichier…
Je souhaite éviter l’utilisation de exim4 et mutt qui me semble à présent “disproportionné”… non ?
Bonjour,
Pour avoir la commande mail, il faut installer le paquet mailutils :
apt install mailutils
ou au choix le paquets bsd-mailx, comme @grandtoubab.
J’utilise aussi exim.
Il fait du bon boulot et en plus il est suivi
ok je vais essayer mailx. Je pensais que msmtp-mta suffisé pour avoir la commande mail…
Non cela ne suffit pas pour avoir la commande mail. Par contre si tu ne veux rien installer de plus, tu peux utiliser sendmail.
Je ne vois pas comment attacher une PJ…
Dans mon script de mise à jour , je fais ceci
usr/bin/mailx -s "résul update-perso service" root@localhost < /tmp/resul-opt-update-perso.txt
Bien évidemment ceci est un exemple, le fichier resul-opt-update-perso.txt est sur mon ordinateur, pas sur celui du lecteur…
Bien comprendre l’utilité du caractère <
décidément… pas facile de mettre à jour ses méthodes.
avec :
echo "mon message" | mailx -s "mon sujet" -a "/var/log/backups/backup_20191128-173806.log" moi@entreprise.com
j’ai plusieurs soucis :
1/ d’après mes recherches la ligne de commande “attend” CTRL+d mais ça ne fonctionne pas car rien ne se passe… obligé de faire CTRL+z => “Stoppé”
2/ j’ai l’erreur :
send-mail: impossible d'écrire dans le journal /var/log/msmtp.log : erreur d'ouverture de fichier: Permission non accordée
alors que le fichier existe avec 777
3/ impossible d’attacher une PJ…
help
Attention à la syntaxe si tu utilises mailutils (cf. les pages de man).
Retour de :
ls -l /etc/alternatives/mailx
pour savoir ce que tu utilises.
Pour envoyer une pièce jointe avec mail.mailutils, c’est avec un A majuscule:
echo "mon message" | mailx -s "mon sujet" -A "/var/log/backups/backup_20191128-173806.log" moi@entreprise.com
Attention aussi à Ctrl+Z, cela ne fait que placer le programme en arrière plan ( fg pour y revenir).
Pour tuer le processus courant c’est Ctrl+C.
Merci Bruno1 pour ton aide
Après vérification mailx utilise bien “a” pour les pièces jointes et non pas “A” : https://linux.die.net/man/1/mailx
1/ est-il possible d’exécuter la commande ? sans passer par CTRL+D… c’est quoi fg ?
Vérification de quoi ?
Chez moi /usr/bin/mailx
est un lien symbolique qui pointe indirectement vers /usr/bin/mail.mailutils
Donne le retour de la commande que j’ai indiquée.
Ctrl+D n’est nécessaire que si tu tutilises le mode interactif, par exemple :
mail -s "Objet du message" toto@exemple.com
S’il s’agit de ta commande précédente, le courriel devrait être envoyé directement. À moins qu’elle ne bloque à cause d’une mauvaise configuration de msmtp. Il faut donc donner aussi ton fichier de configuration et notamment les lignes qui concerne les logs puisque c’est cela qui semble provoquer une erreur.
tu peux ajouter l’option -v pour avoir le mode bavard sur ton terminal
Dans mon exemple ça devient
/usr/bin/mailx -v -s "résul update-perso service" root@localhost < /tmp/resul-opt-update-perso.txt
Tout fonctionne et est lisible par Thunderbird
bah de la fonctionnalité du paramètre “a” via un manpage
Comme demandé :
root@debian:~# ls -l /etc/alternatives/mailx
lrwxrwxrwx 1 root root 18 déc. 2 14:35 /etc/alternatives/mailx -> /usr/bin/bsd-mailx
ainsi que ma configuration MSMTP :
root@debian:~# cat /etc/msmtprc
account default
host smtp.office365.com
port 587
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
tls_certcheck on
auth on
user debian@monentreprise.fr
password *****************
from debian@monentreprise.fr
logfile /var/log/msmtp.log
aliases /etc/aliases
mon fichier log :
root@debian:~# ls -la /var/log/msmtp.log
-rw-rw-rw- 1 root root 0 nov. 29 16:53 /var/log/msmtp.log
et mon dernier test en mode verbose:
root@debian:~# echo "Message test" | mail moi@entreprise.fr -v -s "Sujet test" -a /home/moi/backup_20191128-173806.log
le fichier de configuration système /etc/msmtprc est chargé
le fichier de configuration utilisateur /root/.msmtprc est ignoré : Aucun fichier ou dossier de ce type
repli sur le compte par défaut
utilisation du compte default depuis /etc/msmtprc
host = smtp.office365.com
port = 587
source ip = (non défini)
proxy host = (non défini)
proxy port = 0
timeout = désactivé
protocol = smtp
domain = localhost
auth = automatique
user = debian@entreprise.fr
password = *
passwordeval = (non défini)
ntlmdomain = (non défini)
tls = activé
tls_starttls = activé
tls_trust_file = /etc/ssl/certs/ca-certificates.crt
tls_crl_file = (non défini)
tls_fingerprint = (non défini)
tls_key_file = (non défini)
tls_cert_file = (non défini)
tls_certcheck = activé
tls_min_dh_prime_bits = (non défini)
tls_priorities = (non défini)
auto_from = désactivé
maildomain = (non défini)
from = debian@entreprise.fr
add_missing_from_header = activé
add_missing_date_header = activé
remove_bcc_headers = activé
dsn_notify = (non défini)
dsn_return = (non défini)
logfile = /var/log/msmtp.log
logfile_time_format = (non défini)
syslog = (non défini)
aliases = /etc/aliases
lecture des destinataires depuis la ligne de commande et le courriel
<-- 220 PR0P264CA0176.outlook.office365.com Microsoft ESMTP MAIL Service ready at Wed, 4 Dec 2019 08:34:41 +0000
--> EHLO localhost
<-- 250-PR0P264CA0176.outlook.office365.com Hello [46.254.226.109]
<-- 250-SIZE 157286400
<-- 250-PIPELINING
<-- 250-DSN
<-- 250-ENHANCEDSTATUSCODES
<-- 250-STARTTLS
<-- 250-8BITMIME
<-- 250-BINARYMIME
<-- 250-CHUNKING
<-- 250 SMTPUTF8
--> STARTTLS
<-- 220 2.0.0 SMTP server ready
TLS session parameters:
(TLS1.2)-(ECDHE-SECP256R1)-(RSA-SHA256)-(AES-256-GCM)
Information du certificat TLS :
Propriétaire:
Nom Usuel: outlook.com
Organisation: Microsoft Corporation
Localité: Redmond
État ou Province: Washington
Pays: US
Émetteur:
Nom Usuel: DigiCert Cloud Services CA-1
Organisation: DigiCert Inc
Pays: US
Validité:
Date d'activation: mer. 23 janv. 2019 01:00:00 CET
Date d'expiration: sam. 23 janv. 2021 13:00:00 CET
Empreintes:
SHA256: C4:EE:30:EB:04:FB:7F:D9:BA:0E:F5:54:1E:B4:1E:05:CF:BF:F0:BA:85:14:59:DD:82:90:D8:A4:B7:40:3C:B5
SHA1 (deprecated): 49:F5:30:34:C0:ED:45:07:CA:92:4F:15:74:2E:2C:2F:E5:22:37:B5
--> EHLO localhost
<-- 250-PR0P264CA0176.outlook.office365.com Hello [46.254.226.109]
<-- 250-SIZE 157286400
<-- 250-PIPELINING
<-- 250-DSN
<-- 250-ENHANCEDSTATUSCODES
<-- 250-AUTH LOGIN XOAUTH2
<-- 250-8BITMIME
<-- 250-BINARYMIME
<-- 250-CHUNKING
<-- 250 SMTPUTF8
--> AUTH LOGIN
<-- 334 VXNlcm5hbWU6
--> ZGViaWFuQGFwYWpoNDEuZnI=
<-- 334 UGFzc3dvcmQ6
--> OWVVM0czJU52
<-- 235 2.7.0 Authentication successful
--> MAIL FROM:<debian@entreprise.fr>
--> RCPT TO:<moi@entreprise.fr>
--> DATA
<-- 250 2.1.0 Sender OK
<-- 250 2.1.5 Recipient OK
<-- 354 Start mail input; end with <CRLF>.<CRLF>
--> From: debian@entreprise.fr
--> Date: Wed, 04 Dec 2019 09:34:41 +0100
--> To: moi@entreprise.fr
--> Subject: Sujet test
--> /home/moi/backup_20191128-173806.log
--> MIME-Version: 1.0
--> Content-Type: text/plain; charset="UTF-8"
--> Content-Transfer-Encoding: 8bit
-->
--> Message test
--> .
<-- 250 2.0.0 OK <PR1PR01MB49861E9E706390B35CF28C25B25D0@PR1PR01MB4986.eurprd01.prod.exchangelabs.com> [Hostname=PR1PR01MB4986.eurprd01.prod.exchangelabs.com]
--> QUIT
<-- 221 2.0.0 Service closing transmission channel
send-mail: impossible d'écrire dans le journal /var/log/msmtp.log : erreur d'ouverture de fichier: Permission non accordée
send-mail: l'entrée du journal était : host=smtp.office365.com tls=on auth=on user=debian@entreprise.fr from=debian@entreprise.fr recipients=moi@entreprise.fr mailsize=265 smtpstatus=250 smtpmsg='250 2.0.0 OK <PR1PR01MB49861E9E706390B35CF28C25B25D0@PR1PR01MB4986.eurprd01.prod.exchangelabs.com> [Hostname=PR1PR01MB4986.eurprd01.prod.exchangelabs.com]' exitcode=EX_OK
Je ne vois pas de PJ
Ok donc tu utilises bien bsd-mailx
Commence par virer la ligne concernant les logs dans /etc/msmtprc
(je pense qu’il y a un bug dans msmtp pour les logs) :
logfile /var/log/msmtp.log
et ajoute :
maildomain monentreprise.fr
Et cela devrait fonctionner. D’ailleurs ton retour avec le mode bavard (-v) montre que le message est bien envoyé.
Si tu ne vois pas la pièce jointe dans le courriel reçu, il faudra essayer avec la syntaxe porposée par @grandtoubab en mettant le corps du message dans un fichier texte :
mailx -a /emplacemen/piece/jointe -s "Objet du message" toto@example.com < /emplacement/texte/du/corps
Effectivement… j’ai toujours reçu le mail mais jamais la PJ.
Je n’ai plus de message d’erreur concernant le log après suppression de la ligne logfile. Par contre je n’ai pas non plus de log…
J’ai essayé avec :
mailx moi@entreprise.fr -v -s "Sujet test" -a /home/moi/backup_20191128-173806.log < /home/moi/backup_20191128-173806.log
pareil … le corps est bien le contenu de mon log mais pas de PJ
J’ai remarqué la ligne (après le “Subject” :
--> Subject: Sujet test
--> /home/moi/backup_20191128-173806.log
des idées ???
bof uns simple recherche m’indique
To make this more “scriptable”, you can send the message without a body with the following:
la suite ici
https://www.thegeekdiary.com/linux-unix-how-to-send-mails-with-attachments-using-mailx-command/
mail reçu sans PJ et sans message avec :
mailx -a /home/moi/backup_20191128-173806.log -v -s "Sujet test" moi@entreprise.fr < /dev/null
Je viens de vérifier sur une Debian où j’ai mailx installé. Il n’y a pas d’option pour envoyer une pièce jointe, et l’option -a sert à ajouter des en-têtes supplémentaires :
-a Specify additional header fields on the command line such as "X-Loop: foo@bar" etc. It can be also used to override MIME headers mail adds by default to each outgoing mail, see Character sets and MIME below. You have to use quotes if the string contains spa‐ ces. This argument may be specified more than once, the headers will then be concate‐ nated.
Donc soit tu utilises la première méthode décrite par le lien donné en #17 par @grandtoubab (avec uuencode), soit tu utilises mailutils ou mutt à la place de bsd-mailx.
la version bsd-mailx ne sait pas faire d’attachement, -a est uniquement un ajout dans l’en-tête
pour avoir l’opion -A --attach j’ai remplacé bsd-mailx par mailutils
mail -s "résul update-perso service" < /tmp/resul-opt-update-perso.txt -A /home/moi/Images/toto.png root@localhost
Dans mon cas si j’ajoute une photo comme pièce jointe le fichier texte est pris aussi comme pièce jointe alors que si le fichier texte est seul il est affiche directement mais c’est peut-être un pb thunderbird
Donc on est dépendant de l’outil installé https://mailutils.org/manual/mailutils.html