Différences entre les versions de « Mails envoie en bash »

De BlaxWiki
Aller à la navigationAller à la recherche
Ligne 21 : Ligne 21 :
<pre>
<pre>
Avec mutt : mutt -nx -a mysqldump.sql.tar.gz -s "dump wiki" ben@blaxeen.com < kiki
Avec mutt : mutt -nx -a mysqldump.sql.tar.gz -s "dump wiki" ben@blaxeen.com < kiki
ou : mutt -nx -s "dump wiki" ben@blaxeen.com < kiki -a mysqldump.sql.tar.gz
(kiki doit etre un fichier contenant le corps du message, si on ne veut pas de corps, on peut mettre < /dev/null). Attention le fichier sent du user qui envoie le mail va grossir
(kiki doit etre un fichier contenant le corps du message, si on ne veut pas de corps, on peut mettre < /dev/null). Attention le fichier sent du user qui envoie le mail va grossir
suivant la taille de la pièce jointe
suivant la taille de la pièce jointe

Version du 29 novembre 2012 à 10:44

Script bash avec sendmail pour envoyer un mail classique

#!/bin/sh
RSYNC_PASSWORD=r440mdP /opt/applis/rsync/bin/rsync -vrpogtlH --delete  /etc/sysconfig/modules r440@192.168.254.25::pfm-ins-r440-e1.agarik.com 2>/opt/agarik/rapport_rsync
if [ -s /opt/agarik/rapport_rsync ];
then
echo "From: <backup@agarik.com>
To: bminella@agarik.com
Subject: Rapport Rsync pfm-ins-r440-e1.agarik.com

`cat /opt/agarik/rapport_rsync`" | sendmail -fbminella@agarik.com destinataire@ope.com
fi
exit 0

Le -f force le from, la ligne vide après "Subject" est importante, sinon la premiere ligne du fichier /opt/agarik/rapport_rsync ne sera pas présente dans le corps du message


Mettre une piece jointe dans le mail

Avec mutt : mutt -nx -a mysqldump.sql.tar.gz -s "dump wiki" ben@blaxeen.com < kiki
ou : mutt -nx -s "dump wiki" ben@blaxeen.com < kiki -a mysqldump.sql.tar.gz 
(kiki doit etre un fichier contenant le corps du message, si on ne veut pas de corps, on peut mettre < /dev/null). Attention le fichier sent du user qui envoie le mail va grossir
suivant la taille de la pièce jointe

Script bash avec sendmail pour envoyer un mail en html

  • mail.sh :
#/bin/bash

set -e

for RECIPIENT in `cat basemails`;
        do

cat corpsmail | sendmail -r "packs@fr.clara.net" -Ai $RECIPIENT
#option -r de sendmail : spécifie le le sender

done
  • corpsmail

Le "To" dans les entêtes évite d'avoir un undisclosed-recipients mais n'est pas utilisé (faux to)

Return-Path: <packs@fr.clara.net>
From: <packs@fr.clara.net>
To: <packs@fr.clara.net>
Subject: Claranet - Nouvelles Offres Hébergement Mutualisé
MIME-Version: 1.0 
Content-Type: text/html; charset=iso-8859-1

<html>
<head>
<title>Claranet - Nouvelles Offres Hébergement Mutualisé</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- ImageReady Slices (Mailing Concord - pack.psd) -->
<table id="Tableau_01" width="1024" height="704" border="0" cellpadding="0" cellspacing="0">
        <tr>
                <td>
                        <img src="http://www.claranet.fr/sites/default/files/adverts/pack_01.gif" alt="" width="1024" height="60" border="0" usemap="#Map4"></td>
  </tr>
</map></body>
</html>
  • basemails
benj@fr.clara.net
yan@fr.clara.net