IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Envoi d'un mail avec plusieurs destinataire


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2009
    Messages : 13
    Points : 16
    Points
    16
    Par défaut Envoi d'un mail avec plusieurs destinataire
    Bonjour,

    Je suis en train d'écrire un script en python qui devra envoyer un mail. J'arrive à envoyer celui avec un champ To et un Cc contenant une seule adresse chacune. Or je cherche à mettre plus d'une adresse dans le champ Cc, quelqu'un aurait - il une idée?

    Merci d'avance.
    Mytux.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Je ferais ceci :
    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
    19
    20
     
    import smtplib
    from email.MIMEText import MIMEText
    from email.Utils import COMMASPACE
     
    def sendTextMail(host="localhost", fromaddr="test", to='root@localhost', cc=[], subject="", text=""):
      mail = MIMEText(text)
      mail['From'] = fromaddr
      mail['Subject'] = subject
      mail['To'] = to
      if cc:
        mail['Cc'] = COMMASPACE.join(cc)
     
      dest = cc[:]
      dest.append(to)
     
      smtp = smtplib.SMTP()
      smtp.connect(host)
      smtp.sendmail(fromaddr, dest, mail.as_string())
      smtp.close()

  3. #3
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 246
    Points : 342
    Points
    342
    Par défaut
    salut

    Tu crées une liste de destinataires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     msg = MIMEMultipart()
                msg = MIMEText(self.TextToSend)
                msg['From'] = moi@gmail.com
                msg['Subject'] = "test"
                msg.add_header("text/plain","pipipoppo")
                server = smtplib.SMTP("serveur")
                server.login("monlog","monMDP")
                listDes = [Des1@gmail.com,Des2@gmail.com,Des3@gmail.com]
                for Notified in listDes :
                    msg['To'] = Notified
                    server.sendmail(self.Sender,[Notified], msg.as_string())
    
                else:pass
                server.quit()

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2009
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses qui m'ont permis de résoudre mon problème. Pour les personnes qui souhaiteraient ou qui cherchent encore voici le script:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    #!/usr/bin/python
     
    import os
    import sys
    import smtplib
    import ConfigParser
     
    from email.MIMEText import MIMEText
     
    def PrintUsage():
            print( "Usage: %s < Ticket_Number  >" ) % ( sys.arg[0] )
            sys.exit(1)
     
    def EmailSending( p_MailGateway, p_Sender, p_Recipient_To, p_Recipient_Cc, p_Subject, p_Body ):
            """ This function receives server, sender, recipient, subject and body to construct mail and sends it """
     
            Email                   = MIMEText(p_Body)
            Email['From']           = p_Sender
            Email['To']             = p_Recipient_To
            Email['Cc']             = p_Recipient_Cc
            Email['Subject']        = p_Subject
     
            l_Recipient             = p_Recipient_Cc.split(",")
            l_Recipient.append( p_Recipient_To )
     
     
            SmtpLink                = smtplib.SMTP(p_MailGateway)
            SmtpLink.sendmail(Email['From'], l_Recipient, Email.as_string())
            SmtpLink.quit()
     
    if __name__ == "__main__":
     
            l_Config        = ConfigParser.ConfigParser()
            l_ConfigFile    = os.path.join( os.path.dirname( __file__ ), "config.cfg" )
     
            l_Config.read( l_ConfigFile )
     
            l_MailGateway   = l_Config.get( "General", "MailGateway" )
            l_Recipient_To  = l_Config.get( "General", "Recipient_To" )
            l_Recipient_Cc  = l_Config.get( "General", "Recipient_Cc" )
            l_Sender        = l_Config.get( "General", "Sender" )
            l_Subject       = l_Config.get( "General", "Subject")
     
            if ( len( sys.argv ) < 2 ):
                    PrintUsage()
            else:
                    l_Body = """Dear all,
                                    A priority 1 has been opened. Its ticket number is: %s """ % ( sys.argv[1] )
                    EmailSending( l_MailGateway, l_Sender, l_Recipient_To, l_Recipient_Cc, l_Subject, l_Body )
    Encore merci.
    A+,
    MyTux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. commande mail avec plusieurs destinataires
    Par jad dans le forum Linux
    Réponses: 0
    Dernier message: 10/04/2008, 16h12
  2. Envoi d'e-mails avec plusieurs pièces jointes
    Par xnomad dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 16/07/2007, 15h02
  3. Réponses: 6
    Dernier message: 14/11/2006, 10h35
  4. [Javamail] Envoi mail avec plusieurs smtp
    Par igloof dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 02/11/2006, 12h08
  5. Envoi d'un mail avec plusieurs pièces jointes
    Par Wilco dans le forum Composants VCL
    Réponses: 3
    Dernier message: 04/04/2006, 10h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo