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 texte+ logo


Sujet :

Réseau/Web Python

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut envoi de mail texte+ logo
    Bonjour,
    Je cherche à envoyer des mails contenant du texte, bien entendu, et une petite image comme logo.
    Pour envoyer du texte seul, facile, pas de pb avec MIMEText.
    Pour envoyer une image seule, facile, pas de pb avec MIMEImage.
    Pour envoyer du texte + un fichier joint, pas de pb avec MIMEMultipart.
    Mais pour texte + logo, je n'arrive pas.
    Merci

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il faut un corps de message en html.

    Les éditeur d'emails savent faire ça (outlook, etc...), mais en dehors de ces éditeurs, il faut créer le message html avec un éditeur html comme Kompozer (gratuit).

    Au cas où, ici mon tuto sur l'envoi des emails: http://python.jpvweb.com/mesrecettes...xpedition_mail
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Salut,

    Comme dit par tyrtamos, pour du texte contenant des images il faut passer par du html et créer une alternative texte simple pour le courrielleur qui le réceptionnera.

    En respectant les attachements selon cette hiérarchie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MIMEMultipart('related')
        * MIMEMultipart('alternative')
            * texte
            * html
        * MIMEImage
    Ce code exemple fonctionne chez moi:
    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
     
    # -*- coding: utf-8 -*-
     
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.mime.image import MIMEImage
     
    SENDER = 'expediteur@example'
    DEST = 'destinataire@example'
     
    msg = MIMEMultipart('related')
    msg['Subject'] = "Message avec logo"
    msg['From'] = SENDER
    msg['To'] = DEST
     
    # le texte alternatif
    text = u"Bonjour de la planète Python"
     
    # le html
    html = u"""\
    <html>
      <head></head>
      <body>
        <img src="cid:image1"><br>
        <p>Bonjour de la planète Python.</p>
      </body>
    </html>
    """
     
    part1 = MIMEText(text, 'plain', 'utf8')
    part2 = MIMEText(html, 'html', 'utf8')
     
    # créer un 'alternative'
    msgAlternative = MIMEMultipart('alternative')
    msg.attach(msgAlternative)
    msgAlternative.attach(part1)
    msgAlternative.attach(part2)
     
    # créer l'image (mettre le chemin complet)
    fp = open('infos.png', 'rb')
    msgImage = MIMEImage(fp.read())
    fp.close()
    msgImage.add_header('Content-ID', '<image1>')
    # l'image est attachée au 'related' 
    msg.attach(msgImage)
     
    s = smtplib.SMTP('smtp.exemple.com', 25)
    s.login('exampleuser', 'examplepass')
    s.sendmail(SENDER, [DEST], msg.as_string())

  4. #4
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    merci à vous deux, je plonge et je vous tiens au courant.

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Excellent, merci.
    Après qqes cafouillages, j'ai réussi (et j'ai compris, bien sur, sinon aucun intérêt)
    Pour ceux que cala intéresse, j’envoie via @gmail.com et il faut ajouter la ligne
    smtp.starttls()
    avant la ligne stmp.login, afin de dire à gmail que l'on souhaite une transmission TLS (Transport Layer Security). Sinon, il refuse.

    Encore merci à vous deux.

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

Discussions similaires

  1. Envoi de mail texte avec pièce jointe quelconque
    Par Heremion dans le forum Langage
    Réponses: 27
    Dernier message: 12/05/2014, 01h48
  2. Envoi d'un mail text/html
    Par Rifton007 dans le forum Langage
    Réponses: 8
    Dernier message: 24/09/2009, 18h49
  3. Envoi de mail au format texte enrichi
    Par fmoreau73 dans le forum C#
    Réponses: 1
    Dernier message: 17/10/2007, 18h18
  4. [Mail] Envoi de mail en Plain Text
    Par Boeing dans le forum Langage
    Réponses: 4
    Dernier message: 06/09/2005, 19h07
  5. Envoi de mail au format Rich-Text
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 29/10/2003, 17h27

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