gratifiant > linux.debian.user.french

Comendatore (12/11/2005, 14h20)
Bonjour à tous,
J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces jointes
dans un courriel avec la commande mail en bash.
Google n'a pas été mon ami sur ce point là, man non plus.

Comendatore.
Patrice Karatchentzeff (12/11/2005, 14h20)
2005/11/12, Comendatore <commendatore>:
> Bonjour à tous,
> J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces jointes
> dans un courriel avec la commande mail en bash.
> Google n'a pas été mon ami sur ce point là, man non plus.


mail ne sait pas faire grand chose...

1) soit tu fais cela à la main de zéro en bash (i.e. tu uencodes le
fichier, etc.)

2) soit tu utilises un langage de script puissant (genre perl) qui le
fera pour toi

3) tu vire mail et tu utilises mutt en ligne de commande qui le fera
aussi pour toi

LA dernière solution est de loin la plus rapide à mettre en œuvre...

PK
fabrice régnier (12/11/2005, 16h10)
Salut,

3 moyens simples pour attacher des fichiers:
uuencode
mutt
metamail (non testé)

par exemple avec mutt, ça donne
echo | mutt -s "objet du mail" -a "fichier attache" email_du_destinatai

Mais tu me dis: c'était pas ma question, je veux utiliser mail.

Bon, je trouve que c'est un peu plus compliqué, mais bon: L'idée est de
construire un fichier temporaire temp que tu réinjecte en entrée de
sendmail.

echo "Subject: le_sujet_du_mail_ici" > temp
echo "MIME-Version: 1.0" >> temp
echo "Content-Type: multipart/mixed; boundary= "CEQUEJEVEUX"" >> temp
echo "--CEQUEJEVEUX" >> temp
echo "Content-Type: text/plain; charset=ISO-8859-15; format=flowed"
>> temp

echo "Content-Transfer-Encoding: 8bit" >> temp
echo ""
echo "le corps de ton message" >> temp
echo "" >> temp
echo "--CEQUEJEVEUX" >> temp
echo "Content-Type: text/plain; charset=ISO-8859-15" >> temp
echo "Content-Transfer-Encoding: 8bit" >> temp
echo "Content-Disposition: attachment; filename=
"nom_du_fichier_attaché"" >> temp

#fichier attaché
cat $FILE_DEST >> temp

#et c'est parti!
/usr/sbin/sendmail toto < temp

rm temp -f

Il doit y avoir encore plein d'autres façons de procéder.
En espérant t'avoir aider.

f.

Comendatore a écrit :
[..]
Daniel Caillibaud (12/11/2005, 16h40)
Comendatore a écrit :
> Bonjour à tous,
> J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces jointes
> dans un courriel avec la commande mail en bash.
> Google n'a pas été mon ami sur ce point là, man non plus.


???



ou en français



uuencode fichier_local nom_fichier_attache_dans_le_mail | mail -s sujet
dest

devrait marcher

Daniel
Igor Genibel (16/11/2005, 12h40)
* Comendatore <commendatore> [2005-11-12 13:12:15 +0100]:

> Bonjour à tous,
> J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces jointes
> dans un courriel avec la commande mail en bash.
> Google n'a pas été mon ami sur ce point là, man non plus.


igor@tass:~ ->apt-cache search attachment bash
biabam - bash attachment mailer

igor@tass:~ ->biabam mon_fichier | mail -s 'Mon sujet' dest

Voilà :)
Guy (16/11/2005, 14h30)
Le samedi 12 novembre 2005 à 13:12 +0100, Comendatore a écrit :
> Bonjour à tous,
> J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces jointes
> dans un courriel avec la commande mail en bash.
> Google n'a pas été mon ami sur ce point là, man non plus.
> Comendatore.

Amusant, j'ai écrit cela hier soir...
si cela peut t'intéresser

faire avant :
"apt-get install mpack"

Voilà mon fichier envoi tout

"cat envoitout.sh"
######################
log=e-mail_fichiers.log
echo destinataire
read dest
echo sujet
read sujet
echo quel fichier [ \*.mp3 \*.zip ]
read files
# comptes
n=$(( 0 ))
for fichier in $files
do
n=$(( $n + 1))
echo $n : $fichier
done

echo ok \?
read

i=$(( 0 ))
for fichier in $files
do
i=$(( $i + 1))
mpack -s "[transfert $i/$n de $sujet ] ${fichier}" "$fichier" "$dest"
echo "mpack -s \"[transfert $i/$n de $sujet ] ${fichier}]\" \"$fichier
\" \"$dest\" "
date >> $log
echo "mpack -s \"[transfert $i/$n de $sujet ] ${fichier}]\" \"$fichier
" \"$dest\" " >> $log
echo >> $log
done
Bruno COSTA (16/11/2005, 14h50)
ou plus simple moi je fais comme ca : )

uuencode ta-piece-jointe.txt ta-piece-jointe.txt | mail -s "ton sujet"
toi

Bruno

----- Original Message -----
From: "Guy" <debian-user>
To: "Comendatore" <commendatore>
Cc: <debian-user-french>
Sent: Wednesday, November 16, 2005 1:25 PM
Subject: Re: [HS] Bash - Envoyer des pièces jointes avecla commande mail en
console

Le samedi 12 novembre 2005 à 13:12 +0100, Comendatore a écrit :
> Bonjour à tous,
> J'aimerais savoir si quelqu'un connaît un moyen d'envoyer des pièces
> jointes
> dans un courriel avec la commande mail en bash.
> Google n'a pas été mon ami sur ce point là, man non plus.
> Comendatore.

Amusant, j'ai écrit cela hier soir...
si cela peut t'intéresser

faire avant :
"apt-get install mpack"

Voilà mon fichier envoi tout

"cat envoitout.sh"
######################
log=e-mail_fichiers.log
echo destinataire
read dest
echo sujet
read sujet
echo quel fichier [ \*.mp3 \*.zip ]
read files
# comptes
n=$(( 0 ))
for fichier in $files
do
n=$(( $n + 1))
echo $n : $fichier
done

echo ok \?
read

i=$(( 0 ))
for fichier in $files
do
i=$(( $i + 1))
mpack -s "[transfert $i/$n de $sujet ] ${fichier}" "$fichier" "$dest"
echo "mpack -s \"[transfert $i/$n de $sujet ] ${fichier}]\" \"$fichier
\" \"$dest\" "
date >> $log
echo "mpack -s \"[transfert $i/$n de $sujet ] ${fichier}]\" \"$fichier
" \"$dest\" " >> $log
echo >> $log
done
Discussions similaires