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 mail avec pj


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut Envoi mail avec pj
    Bonjour,

    j'ai un petit script python qui me permet d'envoyer un mail sur un compte gmail qui fonctionne.

    Néanmoins, je souhaiterais pouvoir envoyé avec un pièce jointe et la... je sèche.

    Pouvez vous m'aider ?

    Voici le code de départ :

    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
    import smtplib 
     
    src = "moi@gmail.com" 
    password = "mon_password" 
    dest = "lautre@gmail.com" 
     
    def send(text): 
    mail = "To: " + dest + "\nFrom: " + src + "\nSubject: coucou\n\n" + text 
     
    smtp = smtplib.SMTP('smtp.gmail.com') 
    smtp.set_debuglevel(1) 
    smtp.ehlo() 
    smtp.starttls() 
    smtp.ehlo() 
    smtp.login(src, password) 
    smtp.sendmail(src, dest, mail) 
    smtp.close()

    Merci d'avance.
    Amicalement

    Steph70

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 941
    Par défaut
    Le module email de la librairie standard semble fait pour cela.
    Regarde les exemples: http://docs.python.org/library/email-examples.html

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut
    Ok merci,

    Je vais regarder. Néanmoins, ce script semble plus simple à utiliser hormis pour l'attachement d'une pièce jointe.

    Si vous avez un idée avec ce script ce serait super.

    Merci d'avance

    Amicalement
    Steph70

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,


    Je suis tombé par hasard sur la page suivante, mais je crois qu’elle répond exactement à ton problème:

    http://www.blog.pythonlibrary.org/20...l-with-python/

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut
    La solution trouvée :

    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
    58
    #!/usr/bin/python
     
    import smtplib
    import base64
     
    filename = "/media/LACIE/mtp.sendmail"
     
    # Read a file and encode it into base64 format
    fo = open(filename, "rb")
    filecontent = fo.read()
    encodedcontent = base64.b64encode(filecontent)  # base64
     
    sender = 'me@gmail.com'
    reciever = 'you@gmail.com'
     
    marker = "AUNIQUEMARKER"
     
    body ="""
    This is a test email to send an attachement.
    """
    # Define the main headers.
    part1 = """From: From Person <me@gmail.com>
    To: To Person <you@gmail.com>
    Subject: Sending Attachement
    MIME-Version: 1.0
    Content-Type: multipart/mixed; boundary=%s
    --%s
    """ % (marker, marker)
     
    # Define the message action
    part2 = """Content-Type: text/plain
    Content-Transfer-Encoding:8bit
     
    %s
    --%s
    """ % (body,marker)
     
    # Define the attachment section
    part3 = """Content-Type: multipart/mixed; name=\"%s\"
    Content-Transfer-Encoding:base64
    Content-Disposition: attachment; filename=%s
     
    %s
    --%s--
    """ %(filename, filename, encodedcontent, marker)
    message = part1 + part2 + part3
     
    try:
    	smtpObj = smtplib.SMTP('smtp.gmail.com')
    	smtpObj.set_debuglevel(1) 
    	smtpObj.ehlo() 
    	smtpObj.starttls() 
    	smtpObj.ehlo() 
    	smtpObj.login('me0@gmail.com', 'password') 
    	smtpObj.sendmail(sender, reciever, message)
    	print ""
    except Exception:
    	print ""
    Merci encore pour votre aide.

    Amicalement
    Steph70

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

Discussions similaires

  1. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  2. [VB]Bp envoie mail avec piéce jointe
    Par jm1213 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/02/2006, 20h55
  3. [Oracle 10g] Envoi mail avec PJ à une heure donnée
    Par djoule6 dans le forum Oracle
    Réponses: 5
    Dernier message: 25/10/2005, 11h51
  4. Envoi mail avec Outlook accusé de réception
    Par KapoueMan dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2005, 10h41
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02

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