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 :

Envoyer un mail avec pièce jointe


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 31
    Points : 30
    Points
    30
    Par défaut Envoyer un mail avec pièce jointe
    Bonjour à tous,

    J'aurais aimer savoir comment inserer une pièce jointe dans un mail. J'ai déjà la commande pour envoyer un mail :

    adress_mail = ('mailto:X@hotmail.fr;Y@laposte.net?subject=Reporting')
    webbrowser.open(adress_mail)

    Merci

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Bonsoir,

    T'envoi quoi comme mail avec cette commande?

    webbrowser ne permet pas d'ouvrir ton navigateur internet?

    Je ne sais pas si je me trompe mais je crois que tu es loin de la vérité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import smtplib
    from email.MIMEText import MIMEText
    def sendTextMail(to,text):
        from = "Expediteur <expediteur@mail.com>"
        mail = MIMEText(text)
        mail['From'] = from
        mail['Subject'] = "Sujet du message"
        mail['To'] = to
        smtp = smtplib.SMTP()
        smtp.connect()
        smtp.sendmail(from, [to], mail.as_string())
        smtp.close()
    C'est un peu plus plausible

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    # -*- coding: utf-8 -*-
     
    # la lib smtp qui nous permet de dialoguer avec un serveur de mail
    import smtplib
     
    # un email multipart (contient des pieces jointes)
    from email.MIMEMultipart import MIMEMultipart
    # un message email de type text
    from email.MIMEText import MIMEText
    # un message email de type image
    from email.MIMEImage import MIMEImage
     
    import mimetypes, posixpath
     
    def image_a_mail(cheminfichier):
        ''' renvois un message de type MIMEImage a partir d'un fichier'''
     
        # on utilise posixpath pour avoir le nom du fichier
        nomfichier = posixpath.basename( cheminfichier )
     
        # puis pour obtenir l'extension du fichier
        extension = posixpath.splitext( nomfichier )
     
        # puis mimetypes pour avoir le content-type de l'extension
        content_type = mimetypes.types_map[ extension ]
     
        # on ouvre le fichier image en mobe binaire
        fichier = open(cheminfichier, 'rb')
     
        # un objet message avec le contenu du fichier
        # un objet message avec le contenu du fichier
        image = MIMEImage( fichier.read() )
     
        # on ajoute les headers pour l'image
        image.add_header('Content-Disposition','inline; filename="%s"' % filename)
        image.add_header('Content-type',content_type)
     
        # on retourne l'objet message contenant l'image
        return image
     
    def send(mfrom,mto):
        # on creer un objet message multipart
        emailmultipart = MIMEMultipart()
        # on ajoute les headers pour le mail principal
        email['From']=mfrom
        email['To']=mto
        email['Subject']='Bonjour !'
        # on creer un message simple en html (la classe ! ;)
        emailtext = MIMEText('<b>Bonjour !</b>','html')
     
        # on attache ce mail a notre multipart
        emailmultipart.attach(emailtext)
     
        # on creer un message de type MIMEImage a l'aide de notre fonction
        emailimage = image_a_mail('image.jpg')
     
        # on attache ce mail a notre multipart
        emailmultipart.attach(emailimage)
     
        # on envoit le mail
        server = smtplib.SMTP('localhost')
        server.sendmail(mfrom,
                    mto,
                    emailmultipart.as_string() )
        server.quit()
     
    if __name__ == '__main__':
        send('expediteur@example.com',
             'destinataire@example')
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 31
    Points : 30
    Points
    30
    Par défaut
    J'avais chercher un peu et j'avais aussi trouver ce lien mais j'avais privilegié cette commande avec webbrowser qui envoye des mail grâce à outlook.
    Ca marche très bien mais c'est vrai que je vais peut être essayer cette méthode.

    Merci

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Pour envoyer un mail en Python, pièce-jointe compris, j'ai donné un exemple complet ici : http://www.developpez.net/forums/sho...d.php?t=587210

    Perso, je ne suis pas trop fan de l'utilisation de logiciels tiers pour des raisons de portabilité... mais si l'application ne sert qu'à toi, je ne vais pas trop grogner
    « Se demander si un ordinateur peut penser est aussi intéressant que de se demander si un sous-marin peut nager. »
    -- Edsger Dijkstra

Discussions similaires

  1. Envoyer un MAIL avec pièce jointe
    Par DevPerl dans le forum Modules
    Réponses: 3
    Dernier message: 07/09/2007, 23h34
  2. Comment envoyer un mail avec pièce jointe (BCB6)
    Par renesouley dans le forum C++Builder
    Réponses: 16
    Dernier message: 30/12/2006, 21h56
  3. Envoyer un mail avec pièce jointe
    Par anirose dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/11/2006, 12h45
  4. Envoyer un mail avec pièce jointe (javascript)
    Par Dorra_26 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 21/07/2006, 08h31
  5. [C++/MFC]Envoyer un mail avec Pièce jointe
    Par cjacquel dans le forum MFC
    Réponses: 4
    Dernier message: 12/06/2006, 13h48

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