Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Keskiveu

[résolu][Résolu] Commande mail et pièces jointes

Messages recommandés

Hello

J'ai écrit un script bash permettant de sauvegarder des bases de données et des fichiers. Il récupère les fichiers, les archive et les compresse (tar.bz2), les met dans un répertoire spécifique et envoie un email précisant si la manip s'est bien passée ou non.

S'il y a eu un problème, la commande "mail" envoie le fichier journal dans le corps du message. Mais si l'opération s'est bien passée, je voudrais, en plus du log dans le corps, ajouter l'archive venant d'être sauvegardée en pièce jointe. C'est là que ça se gâte : apparement, mail ne sait pas utiliser les types mime; c'est pas grave, je les définis moi-même dans le message. Je mets ça dans un fichier texte (testmime.txt) :

 

From: user@domaine.fr
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="separateur-mime"

--frontiere-mime
Content-Type: text/plain; charset=ISO-8859-15

Ceci est un test

--separateur-mime
Content-Type: application/octet-stream;
name="testmime.txt.tar.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="testmime.txt.tar.bz2"

begin-base64 644 testmime.txt.tar.bz2
QlpoOTFBWSZTWQ0sm4AAAIr/hMIQIgBAAX+ACAAEAGozHkAABAAIIAB0GiE0
2po00aaAwgkpqMgaAANA+17raZCCDwEjG9QtcpyLkkDVMTSbiT4w0pAXLgJv
4WvDY5tGqEx0SRTDULmIQiKdyFA2R0aSeJkG2qsBR3uT6qsu6ZkRAfi7kinC
hIBpZNwA
====

--separateur-mime--

et j'envoie le tout avec mail :

 

mail -s "Sujet" addresse@e.mail <testmime.txt

et là je reçois un mail sans pièce jointe, avec exactement le contenu de testmime.txt dans le corps du message...

 

Je tiens à utiliser mail, parce que je voudrais aussi utiliser ce script pour mes clients, sur certains serveurs web sur lesquels je n'ai pas les droits d'admin. Je ne peux donc pas y installer mutt par exemple.

 

Quelqu'un a une solution ?

Modifié par Keskiveu

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca y est, j'ai trouvé; il faut passer directement par sendmail, comme ça ça marche :

 

cat testmime.txt | /usr/sbin/sendmail -t

 

En renseignant bien les en-têtes dans le fichier texte, sendmail va se débrouiller tout seul pour envoyer le message à l'intéressé.

 

Maintenant j'ai un autre problème : uuencode me met un "begin-base64 644 testmime.txt.tar.bz2" en première ligne, ce qui rend la pièce jointe illisible par le client mail... Comment je peux faire sauter cette première ligne ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Le problème semble avoir trouvé sa solution.

Ainsi, afin de signaler clairement à ceux qui ont un problème similaire qu'ils ont peut-être une solution toute trouvée (s'ils pensent à utiliser la fonction Recherche en indiquant le mot-clé "résolu" auparavant), et afin de signaler aux autres contributeurs qu'il est inutile de continuer à se creuser la tête sur le problème (à moins d'avoir des suppléments d'informations à apporter pour mieux comprendre ce qui posait problème), un modérateur a préfixé le titre du topic avec la mention [résolu].

Merci, à l'avenir, de bien vouloir prendre à votre charge cette mise à jour quand vous estimez que votre problème a été résolu de manière satisfaisante (et parallèlement, si le problème a disparu "mystérieusement", inutile d'induire les gens en erreur :P) Pour cela, p_edit.gif votre premier message :P

 

:P merci pour l'exposé des solutions :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Votre contenu devra être approuvé par un modérateur

Invité
Vous postez un commentaire en tant qu’invité. Si vous avez un compte, merci de vous connecter.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×