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

Réseau/Web Python Discussion :

Envoi de mail avec pièce jointe.


Sujet :

Réseau/Web Python

  1. #1
    Membre éclairé Avatar de Empty_body
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 681
    Par défaut Envoi de mail avec pièce jointe.
    Bonjour,

    Pour le boulot, je dois complèter un script en python à fin d'ajouter l'identification sur le serveur SMTP. Malheureusement, le python m'est totalement inconnu, quelqu'un sait me dire comment faire? 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
    51
    52
    53
    #!/usr/bin/python
     
    import smtplib
    import os
    import email
    from email import *
    from email.MIMEMultipart import *
    from email.Utils import COMMASPACE,formatdate
    from email import Encoders
    from email.MIMEText import MIMEText
    from email.MIMEBase import MIMEBase
    import sys
     
    #recuperation des parametres.
     
    send_from,send_to,subject,text,files = sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5:]
     
    def sendmail(send_from, send_to, subject, text, files=[], server="smtp.gmail.com"):
     
      msg = MIMEMultipart()
      msg['From'] = send_from
      msg['To'] = send_to
      msg['Date'] = formatdate(localtime=True)
      msg['Subject'] = subject
     
      msg.attach( MIMEText(html,text) )
     
      for fichiers in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(fichiers,"rb").read() )
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(fichiers))
        msg.attach(part)
     
      smtp = smtplib.SMTP(server)
      smtp.sendmail(send_from, send_to, msg.as_string())
      smtp.close()
     
     
     
    if __name__=="__main__":
     
      if len(sys.argv) < 6:
         print "Missing arguments... exiting"
         exit
     
      print "FROM:"+send_from
      print "TO:"+send_to
      print "SUBJECT:"+subject
      print "TEXT:"+text
      print "FILES:"+str(files)
     
      sendmail(send_from,send_to,subject,text,files)
    D'avance merci...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Par défaut
    Voici le script corrigé
    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
    51
    52
    53
    54
    55
    56
    57
    #!/usr/bin/python
     
    import smtplib
    import os
    import email
    from email import *
    from email.MIMEMultipart import *
    from email.Utils import COMMASPACE,formatdate
    from email import Encoders
    from email.MIMEText import MIMEText
    from email.MIMEBase import MIMEBase
    import sys
     
    #recuperation des parametres.
     
    send_from,send_to,subject,text,files = sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5:]
     
    def sendmail(send_from, send_to, subject, text, files=[], server="smtp.gmail.com"):
     
      msg = MIMEMultipart()
      msg['From'] = send_from
      msg['To'] = send_to
      msg['Date'] = formatdate(localtime=True)
      msg['Subject'] = subject
     
      msg.attach( MIMEText(html,text) )
     
      for fichiers in files:
        part = MIMEBase('application', "octet-stream")
        part.set_payload( open(fichiers,"rb").read() )
        Encoders.encode_base64(part)
        part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(fichiers))
        msg.attach(part)
     
      smtp = smtplib.SMTP(server)
      #a mon avis la ligne suivante est necessaire pour utiliser gmail
      #si ca marche pas essayere sans
      smtp.starttls()
      smtp.login("user", "password")
      smtp.sendmail(send_from, send_to, msg.as_string())
      smtp.close()
     
     
     
    if __name__=="__main__":
     
      if len(sys.argv) < 6:
         print "Missing arguments... exiting"
         exit
     
      print "FROM:"+send_from
      print "TO:"+send_to
      print "SUBJECT:"+subject
      print "TEXT:"+text
      print "FILES:"+str(files)
     
      sendmail(send_from,send_to,subject,text,files)

Discussions similaires

  1. [webdev]envoi de mail avec pièce jointe
    Par kwakly dans le forum WebDev
    Réponses: 3
    Dernier message: 11/02/2009, 11h07
  2. Envoi de mail avec pièce jointe?
    Par ArseNic dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/06/2007, 11h37
  3. [Mail] Problème d'envoi de mail avec pièces jointes
    Par nelly644 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 10h14
  4. Envoie de Mail avec Pièce jointe
    Par Yaz dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/07/2006, 13h51
  5. Envoi de mail avec pièce jointe
    Par gids01 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 20/04/2006, 13h15

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