Envoyez un e-mail contenant du texte brut avec une pièce jointe en texte brut avec mailx:
(
/usr/bin/uuencode attachfile.txt myattachedfilename.txt;
/usr/bin/echo "Body of text"
) | mailx -s 'Subject' youremail@gmail.com
Ci-dessous est la même commande que ci-dessus, sans les retours à la ligne
( /usr/bin/uuencode /home/el/attachfile.txt myattachedfilename.txt; /usr/bin/echo "Body of text" ) | mailx -s 'Subject' youremail@gmail.com
Assurez-vous d'avoir un fichier /home/el/attachfile.txt
défini avec ce contenu:
<html><body>
Government discriminates against programmers with cruel/unusual 35 year prison
sentences for making the world's information free, while bankers that pilfer
trillions in citizens assets through systematic inflation get the nod and
walk free among us.
</body></html>
Si vous n'avez pas uuencode, lisez ceci: /unix/16277/how-do-i-get-uuencode-to-work
Sous Linux, envoyez un e-mail HTML avec une pièce jointe PDF avec sendmail:
Assurez-vous que ksh est installé: yum info ksh
Assurez-vous que sendmail est installé et configuré.
Assurez-vous que uuencode est installé et disponible: /unix/16277/how-do-i-get-uuencode-to-work
Créez un nouveau fichier appelé test.sh
et placez-le dans votre répertoire personnel:/home/el
Mettez le code suivant dans test.sh
:
#!/usr/bin/ksh
export MAILFROM="el@defiant.com"
export MAILTO="youremail@gmail.com"
export SUBJECT="Test PDF for Email"
export BODY="/home/el/email_body.htm"
export ATTACH="/home/el/pdf-test.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
export MAILPART_BODY=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
echo ""
echo "--$MAILPART"
echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
echo ""
echo "--$MAILPART_BODY"
echo "Content-Type: text/plain; charset=ISO-8859-1"
echo "You need to enable HTML option for email"
echo "--$MAILPART_BODY"
echo "Content-Type: text/html; charset=ISO-8859-1"
echo "Content-Disposition: inline"
cat $BODY
echo "--$MAILPART_BODY--"
echo "--$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: uuencode"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
echo ""
uuencode $ATTACH $(basename $ATTACH)
echo "--$MAILPART--"
) | /usr/sbin/sendmail $MAILTO
Modifiez les variables d'exportation en haut de test.sh
pour refléter votre adresse et vos noms de fichiers.
Téléchargez un document pdf de test et mettez-le dans /home/el
appelé pdf-test.pdf
Créez un fichier appelé /home/el/email_body.htm et mettez cette ligne dedans:
<html><body><b>this is some bold text</b></body></html>
Assurez-vous que le fichier pdf dispose de 755 autorisations suffisantes.
Exécutez le script ./test.sh
Vérifiez votre boîte de réception, le texte doit être au format HTML et le fichier pdf automatiquement interprété comme un fichier binaire. Faites attention à ne pas utiliser cette fonction plus de 15 fois par jour, même si vous vous envoyez des e-mails, les filtres anti-spam dans gmail peuvent blacklister un domaine crachant des e-mails sans vous donner la possibilité de les laisser passer. Et vous constaterez que cela ne fonctionne plus, ou qu'il ne laisse passer que la pièce jointe, ou que l'e-mail ne passe pas du tout. Si vous devez faire beaucoup de tests à ce sujet, répartissez-les sur plusieurs jours ou vous serez étiqueté comme un spammeur et cette fonction ne fonctionnera plus.