Commit d30ea58a authored by Nicolas Ollinger's avatar Nicolas Ollinger

nom de fichier optionnel et clarification multi-destinataires

parent 6a989598
alice.demo@mailinator.com,104.pdf,sujet.pdf,Alice alice.demo@mailinator.com,104.pdf,sujet.pdf,Alice
bob.demo@mailinator.com,104.pdf,sujet.pdf,Bob bob.demo@mailinator.com,104.pdf,sujet.pdf,Bob
"charlie.demo@mailinator.com, dave.demo@mailnator.com",104.pdf,,Charlie et Dave
2020-06-07 15:00:57,650 ==== Début du mailing ==== 2020-06-07 20:07:10,407 ==== Début du mailing ====
2020-06-07 15:00:57,835 alice.demo@mailinator.com <- 104.pdf: OK 2020-06-07 20:07:10,722 alice.demo@mailinator.com <- 104.pdf: OK
2020-06-07 15:00:57,996 bob.demo@mailinator.com <- 104.pdf: OK 2020-06-07 20:07:10,898 bob.demo@mailinator.com <- 104.pdf: OK
2020-06-07 15:00:58,003 ==== Fin du mailing ==== 2020-06-07 20:07:11,090 charlie.demo@mailinator.com, dave.demo@mailnator.com <- 104.pdf: OK
2020-06-07 20:07:11,100 ==== Fin du mailing ====
...@@ -5,6 +5,7 @@ if version_info[0] != 3: ...@@ -5,6 +5,7 @@ if version_info[0] != 3:
print("This script requires Python 3") print("This script requires Python 3")
exit() exit()
from os.path import basename
from smtplib import SMTP_SSL from smtplib import SMTP_SSL
from getpass import getpass from getpass import getpass
from email.message import EmailMessage from email.message import EmailMessage
...@@ -32,7 +33,9 @@ if 'passwd' not in conf['server']: ...@@ -32,7 +33,9 @@ if 'passwd' not in conf['server']:
if 'bcc' not in conf['mail']: if 'bcc' not in conf['mail']:
conf['mail']['bcc']='false' conf['mail']['bcc']='false'
def envoie(serveur,port,login,mdp,sujet,corps,emet,dest,dobcc,file_path,filename): def envoie(serveur,port,login,mdp,sujet,corps,emet,dest,dobcc,file_path,filename=None):
if filename is None or filename=='':
filename=basename(file_path)
msg=EmailMessage(EmailPolicy(utf8=False,cte_type='7bit')) msg=EmailMessage(EmailPolicy(utf8=False,cte_type='7bit'))
msg['Subject']=sujet msg['Subject']=sujet
msg['From']=emet msg['From']=emet
......
...@@ -6,9 +6,9 @@ Voici un exemple d'envoi automatisé de fichiers. ...@@ -6,9 +6,9 @@ Voici un exemple d'envoi automatisé de fichiers.
La configuration du script (serveur d'envoi, login, mot de passe, adresse de l'émetteur) se fait La configuration du script (serveur d'envoi, login, mot de passe, adresse de l'émetteur) se fait
dans le fichier mailing.conf. Le sujet et le corps du message sont à placer dans le fichier dans le fichier mailing.conf. Le sujet et le corps du message sont à placer dans le fichier
mailing.txt. Enfin, le fichier mailing.csv contient, au format CSV, les informations suivantes : mailing.txt. Enfin, le fichier mailing.csv contient, au format CSV, les informations suivantes :
- adresse du destinataire ; - adresse du destinataire (ou des destinataires séparés par des virgules encadrés par de guillemets doubles) ;
- chemin d'accès au fichier à attacher au message ; - chemin d'accès au fichier à attacher au message ;
- nom associé au fichier dans le message ; - nom associé au fichier dans le message (si ce champ est vide, le nom est calculé à partir du chemin d'accès);
- autant d'éléments que nécessaires pour remplir les champs variables du corps du message. - autant d'éléments que nécessaires pour remplir les champs variables du corps du message.
Lors de l'exécution de mailing.py, si le fichier de configuration ne contient pas le champ passwd, Lors de l'exécution de mailing.py, si le fichier de configuration ne contient pas le champ passwd,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment