Ouvrir le client mail Thunderbird depuis Python
Ouvrir Thunderbird depuis Python
Prérequis:
- Python 2.5
- La librairie Python config: Librairie Python config
- La librairie subprocess, documentation: subprocess
Voici un exemple de script pour ouvrir le client mail Thunderbird depuis Python.
Par exemple vous pouvez préparer le corps du message dans un fichier:
... from subprocess import Popen, PIPE ... # Get e-mail body file email_body = open('config/email_body.txt').read().encode('cp1252') ...
Puis faire un appel au client mail avec « Popen » et une redirection stdout=PIPE, stderr=PIPE (multithreading):
if email_body: # Open default e-mail client, prepare e-mail Popen( obj_config['mail_section']['email_client_exe'].encode('cp1252') + " -compose " \ "to='" + obj_config['mail_section']['email_to'] + "'," \ "cc='" + obj_config['mail_section']['email_cc'] + "'," \ "subject='" + obj_config['mail_section']['email_subject'] + "'," \ "attachment='" + ','.join(files_list) + "'," \ "body='" + email_body + "'", stdout=PIPE, stderr=PIPE )
Voici également mon fichier de configuration (j’utilise la librairie: ConfigObj):
[mail_section]
email_client_exe = C:\Program Files\Courrielleur Mél\thunderbird.exe
email_to = email1@yahoo.fr;email2@gmail.com
email_cc = email3@yahoo.com
email_subject = My subject
Vous pouvez également joindre des fichiers avec l’option « attachment » de Thunderbird (dans mon exemple on récupère tous les fichiers csv d’un répertoire):
…
import glob
…
files_list = glob.glob(os.getcwd() + ‘\\’ + output_folder_results + ‘\\*.csv’)
…
…
import glob
…
files_list = glob.glob(os.getcwd() + ‘\\’ + output_folder_results + ‘\\*.csv’)
…