Bonjour,

j'essaye d'envoyer en python 3.6 des emails, j'ai créé le message en html avec PJ (pour info je dois envoyer le même email à une liste d'adresse sans que chacun connaisse l'adresse des autres et la liste est trop longue pour la mettre en CCI => donc je fais une boucle qui envoi le même email mais à une seule adresse à chaque fois)
mais je n'y arrive pas alors que ce code fonctionne mais avec un autre fournisseur que je ne peux pas utiliser dans ce cas, je pense que c'est orange qui me bloque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
        smtpserver = smtplib.SMTP('smtp.orange.fr')
        smtpserver.ehlo()
        smtpserver.login(user='login', password='MdP')
        try:
            smtpserver.sendmail(self.adrFrom, emailDest.split(','), message.as_string())
        except Exception as e:
            print(f"Envoi mail ko : {e}")
            return False
        finally:
            smtpserver.quit()
après le sendmail je passe en erreur avec ce message : (503, b'5.5.0 need RCPT before DATA')
Après recherche : "orange" pour authentifier la connexion veux que l'on commence par récupérer les emails en réception de INBOX avant d'envoyer un email

OK, j'ai donc ajouté avant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        imap = imaplib.IMAP4('imap.orange.fr')
        imap.login(user='login', password='MdP')
        (status, res) = imap.list()
        (status, numberMessages) = imap.select('INBOX')
        (status, searchRes) = imap.search(None, 'ALL')
        ids = searchRes[0].split()
        for i in range(len(ids)):
            (status, res) = imap.fetch(ids[i], '(BODY[HEADER.FIELDS (FROM SUBJECT)])')
            for responsePart in res:
                if isinstance(responsePart, tuple):
                    msg = email.message_from_string(responsePart[1].decode())
                    sender = msg['from']
                    subject = msg['subject']
                    print('expediteur : ', sender)
                    print('sujet : ', subject)
        imap.close()
        imap.logout()
ça me liste bien les email dans INBOX, mais ça plante toujours dans le sendmail comme s'il ne reconnaissait pas ma connexion en lecture avant ...
si quelqu'un a une idée pour me débloquer

Merci d'avance
Alain