pysendmail : Envoi d'email en ligne de commande

Présentation

pysendmail est un outil multi-plateforme d'envoi de courriel en ligne de commande.

Les paramètres (expéditeur, destinataires, sujet, …) sont passés en ligne de commande ou saisis interactivement.
Il supporte l'envoi de pièces jointes qui peuvent éventuellement être compressées dans une archive.

Nouveautés

  • 2006/12/10 - Mise en place d'un dépot SubVersion
  • 2006/10/26 - Mise à jour de la version de développement v. 0.9.0
  • 2006/10/22 - Mise en ligne de la version en cours de développement
  • 2006/10/09 - Publication de la version 0.5.1 (inclue la compression des pièces jointes dans une archive au format zip)

Fonctionnalités

Déjà dans la version actuelle

  • Support des informations d'entête : expéditeur, destinataires principaux, sujet
  • Support de l'unicode (l'encodage peut-être spécifié)
  • Support des pièces jointes
  • Indication générique du nom des pièces jointes (accepte les caractères *, ? et [] dans le nom des pièces jointes)
  • Support de l'archivage des pièces jointes avant envoi (format zip)
  • Le corps du message peut-être saisi ou contenu dans un fichier texte

En développement

  • Support des informations d'entête supplémentaires : destinataires en copie, en copie cachée
  • Intégration d'un fichier de configuration pour stocker : le serveur smtp, l'encodage par défaut, l'adresse de l'expéditeur
  • Lecture de la liste des pièces jointes depuis un fichier texte
  • Lecture de la liste des destinataires (to, cc et bcc) depuis un fichier texte

Prévues

  • Signature et chiffrement des emails (via GPG)
  • Interface graphique

Téléchargement

Installation

Sous GNU/Linux et autres unix-like

Pré-requis

  • Python 2.4 et >

Installation

  1. décompressez l'archive dans le dossier de votre choix
  2. à l'aide d'un terminal, se positionner dans le dossier contenant le package décompressé
  3. puis lancer l'installation1) en tapant :
>python setup.exe install

Sous MS/Windows

Pré-requis

  • Aucun si utilisation de l'exécutable
  • Python 2.4 et > (pour une utilisation en Python pur)

Installation

  1. Décompressez l'archive dans le dossier de votre choix
  2. Pour une utilisation de l'exécutable, vous pouvez directement utiliser pysendmail.exe
  3. Pour une utilisation en pur Python, lancer python setup.py install

Exemples d'utilisation

Obtenir de l'aide

fabrom@pc1d:~$ pysendmail --help
pySendMail 0.5.1 - Fabrice Romand <fabrom AT jability.org> - release under GPL
goal: sending mail from standard input
usage: /usr/bin/pysendmail [-dhq] [-f <from>] [-t <to>] [-s <subject>] [-S <smtp host>] [-F <attachments list>] [-c <charset>] [-z <archive name>] [< file]
        -f, --from              Sender email address
        -t, --to                Recipients emails list (comma sep.)
        -s, --subject           Subject
        -F, --files             Attachments list (comma sep.)
                                patterns *,?,[] are accepted in file name
        -z, --zip               zip all attachments in an archive
        -S, --smtphost          SMTP host (default=localhost)
        -C, --charset           charset to encode email (utf-8 by default)
        -h, --help              Display this help message
        -d, --debug             Display debug info.
        -q, --quiet             Silent mode

Envoyer un email interactivement

fabrom@pc1d:~$ pysendmail
From: fabrom@foo.org
To: fabrom@bar.org,fabrom@foo.org
Subject: Démonstration d'envoi d'un email
Attachments:
SMTP host: smtp.myprovider.fr
Body (C-d to end):
Bonjour,

Juste un test.

Cordialement,
Fabrice
Email send.

Envoi d'un email par passage de paramètres

(Les paramètres manquants sont demandés interactivement)

fabrom@pc1d:~$ pysendmail -f fabrom@foo.org -t "fabrom@foo.org,fabrom@bar.org" -s "Test d'envoi d'email" -S smtp.myprovider.fr
Attachments:
Body (C-d to end):
Bonjour,
Encore un exemple.
A+
Email send.

Envoi d'un email avec pièces jointes

fabrom@pc1d:~$ pysendmail -f fabrom@foo.org -t fabrom@foo.org -s "Test d'envoi d'email" -S smtp.wanadoo.fr -F "log.txt,playground.txt"
Body (C-d to end):
Ci-joint 2 fichiers textes...
Email send.

Envoi d'un email avec pièces jointes compressés dans une archive zippée

fabrom@pc1d:~$ pysendmail -f fabrom@foo.org -t fabrom@foo.bar -s "Test d'envoi d'email" -S smtp.wanadoo.fr -F "log.txt,playground.txt" -z "archive.zip"
Body (C-d to end):
Ci-joint 2 fichiers textes dans une archive zip...
Email send.

Licence

Ce logiciel est sous licence GPL

1) Les fichiers suivants sont installés : /usr/bin/pysendmail, /etc/pysendmail/pysendmailrc, {python site-package}/pysendmaillib/

Outils personnels