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 :

inserer logo dans mail Python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Par défaut inserer logo dans mail Python
    Bonjour a toutes et a tous,

    voila, tous d'abord je suis un parfait débutant en python.
    j'essai de faire un script qui envoie un mail. pour ca c'est bon j ' y suis arrivé.
    mais dans le mail tout en bas (signature, je voudrais mettre le logo de la société, et la je n ' y arrive pas du tout. un petit carré avec une croix s'affiche.
    pourriez vous m'aider? Merci!!!!
    voici le code:

    import smtplib
    import ssl
    import socket
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    #from PIL import Image

    # on crée un e-mail
    message = MIMEMultipart("alternative")
    # on ajoute un sujet
    message["Subject"] = "[Rapport de telesauvegarde] e-mail essai"
    # un émetteur
    message["From"] = 'XXXXXXXXX'
    # un destinataire
    message["To"] = 'YYYYYYYYYYY'

    # on crée un texte et sa version HTML
    texte = '''
    Bonjour
    Mon futur super rapport de telesauvegarde
    Cdt
    https://www.hhhhhhhh.fr
    '''

    html = '''
    <html>
    <body>
    <h1>Bonjour</h1>
    <p>Mon futur super rapport de telesauvegarde</p>
    <table border=1 width="500" height="200">
    <caption>Rapport de Telesauvegarde</caption>
    <tr><th>Designation</th><th>Status</th></tr>
    <tr><td>message</td><td>Sauvegarde Valide</td></tr>
    </table>
    <br>
    <b>Cordialement,</b>
    <br>
    <br>
    <a href="https://www.hhhhhhhh.fr">https://www.hhhhhhhh.fr</a>
    <br>
    <br>
    <img src="/opt/scripts/logo.jpg"></img>
    </body>
    </html>
    '''

    # on crée deux éléments MIMEText
    texte_mime = MIMEText(texte, 'plain')
    html_mime = MIMEText(html, 'html')

    # on attache ces deux éléments
    message.attach(texte_mime)
    message.attach(html_mime)

    # on crée la connexion
    #context = 'ssl.create_default_context()'
    context = ('cert.crt', 'key.key')
    with smtplib.SMTP_SSL('webmail.carbase.fr', 465, 'context=context',) as server:
    # connexion au compte
    server.login('XXXXXXXXXXX', 'PPPPPPPPPP')
    # envoi du mail
    server.sendmail('XXXXXXXX', 'YYYYYYYYY', message.as_string())

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par bibiho Voir le message
    voila, tous d'abord je suis un parfait débutant en python.
    Ce n'est pas un sujet à proprement parler Python mais sur ce qu'on doit faire pour ajouter/intégrer une image dans un "mail" (au format MIME) sous la forme de document HTML.
    Avec ces mots clefs, on trouvera du code magique qui le fait avec Python... difficile à adapter si on ne comprend pas trop ce qu'il se passe derrière.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par bibiho Voir le message
    voila, tous d'abord je suis un parfait débutant en python...
    Et aussi parfait débutant forum. Tu ne t'es même pas promené un peu avant voir comment les autres postent leur code afin qu'il ressorte comme un vrai code et non pas comme un pâté. Surtout en Python où l'indentation joue un rôle primordial dans la logique de l'algo (ok ici il n'y a pas besoin d'indenter vu que tout est séquentiel sans alternative ni boucle mais si demain tu postes un autre code plus complexe...)

    Citation Envoyé par bibiho Voir le message
    <img src="/opt/scripts/logo.jpg"></img>
    C'est cette ligne qui pose souci. Parce qu'elle référence une image locale à la machine. Autrement dit, il faut que le destinataire du mail possède une image nommée "/opt/scripts/logo.jpg" dans sa machine à lui pour que son client mail puisse l'afficher.

    Sinon tu peux référencer à la place le logo de la société depuis son URL internet (j'imagine qu'il doit bien exister !!!), le client mail du destinataire pourra alors la télécharger et l'afficher.

    Ou alors il ne faut plus référencer une image mais l'insérer réellement dans le mail en tant qu'image. Je pense que la lib "email" doit avoir une fonction qui fait ça.

    J'ajoute pour finir que ce problème n'est absolument pas un problème Python qui ici n'est utilisé que comme support d'une technologie X et que c'est ladite technologie X qui te pose souci. Un peu comme le type qui conduit une Renault et qui appelle la hot-line Renault parce que le péage ne lui rend pas sa monnaie.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Et aussi parfait débutant forum. Tu ne t'es même pas promené un peu avant voir comment les autres postent leur code afin qu'il ressorte comme un vrai code et non pas comme un pâté. Surtout en Python où l'indentation joue un rôle primordial dans la logique de l'algo (ok ici il n'y a pas besoin d'indenter vu que tout est séquentiel sans alternative ni boucle mais si demain tu postes un autre code plus complexe...)


    C'est cette ligne qui pose souci. Parce qu'elle référence une image locale à la machine. Autrement dit, il faut que le destinataire du mail possède une image nommée "/opt/scripts/logo.jpg" dans sa machine à lui pour que son client mail puisse l'afficher.

    Sinon tu peux référencer à la place le logo de la société depuis son URL internet (j'imagine qu'il doit bien exister !!!), le client mail du destinataire pourra alors la télécharger et l'afficher.

    Ou alors il ne faut plus référencer une image mais l'insérer réellement dans le mail en tant qu'image. Je pense que la lib "email" doit avoir une fonction qui fait ça.

    J'ajoute pour finir que ce problème n'est absolument pas un problème Python qui ici n'est utilisé que comme support d'une technologie X et que c'est ladite technologie X qui te pose souci. Un peu comme le type qui conduit une Renault et qui appelle la hot-line Renault parce que le péage ne lui rend pas sa monnaie.
    Bonjour,
    le fichier existe bien à l'endroit indiqué. j'ai aussi essayé avec l'URL, mais rien y fait.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par bibiho Voir le message
    le fichier existe bien à l'endroit indiqué. j'ai aussi essayé avec l'URL, mais rien y fait.
    Et vous n'avez pas essayé de comprendre le code suggéré dans mon message.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Et vous n'avez pas essayé de comprendre le code suggéré dans mon message.

    - W
    J ai vu votre message. mais je ne vois pas de code a part le W.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par bibiho Voir le message
    J ai vu votre message. mais je ne vois pas de code a part le W.
    Relisez le message. Le texte "code magique" apparaît souligné en bleu pour signaler qu'en cliquant dessus vous serez redirigé vers...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par bibiho Voir le message
    mais je ne vois pas de code
    Il faut voir un LIEN vers ce code

    Sinon, mettre une url valide doit fonctionner. Simplement certains clients email peuvent ne pas charger par défaut les images et demandent alors une autorisation.

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bibiho Voir le message
    le fichier existe bien à l'endroit indiqué.
    Comme je l'ai dit, il faut qu'il soit sur l'ordinateur du client !!!

    Citation Envoyé par bibiho Voir le message
    j'ai aussi essayé avec l'URL, mais rien y fait.
    Ben moi j'ai essayé en mettant <img src="https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823__340.jpg"> et ça marche parfaitement.

    Je t'ai d'ailleurs envoyé un mail contenant cette image (via ton propre programme). Tu vas sur le site https://yopmail.com/fr/ (site de mails poubelle). Dans le champ "Saisissez le mail jetable de votre choix" tu tapes "bibiho" et tu valides avec la flèche et tu verras 1) mon mail (19h31) et 2) l'image en question en bas (faut juste cliquer sur le petit lien bleu "Afficher les images" en haut sous la date)...

    Et si par accident un intervenant lisant ce post supprime le message (accessible à tous) tu peux recommencer l'essai en utilisant ce code (créé à partir du tien)
    Code python : 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
    #!/usr/bin/env python3
     
    import smtplib
    import ssl
    import socket
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    #from PIL import Image
     
    # on crée un e-mail
    message = MIMEMultipart("alternative")
    # on ajoute un sujet
    message["Subject"] = "[Message de Svear] Forum Développez"
    # un émetteur
    message["From"] = 'svear'
    # un destinataire
    message["To"] = 'bibiho@yopmail.com'
     
    # on crée un texte et sa version HTML
    texte = '''
    Bonjour
    Ben chez-moi ça marche !!!
    Cdt
    https://www.developpez.net/forums/d2144106/autres-langages/python/general-python/inserer-logo-mail-python/
    '''
     
    html = '''
    <html>
    <body>
    <h1>Bonjour</h1>
    <p>Ben chez-moi ça marche !!!</p>
    <table border=1 width="500" height="200">
    <caption>Rapport de Telesauvegarde</caption>
    <tr><th>Designation</th><th>Status</th></tr>
    <tr><td>message</td><td>Sauvegarde Valide</td></tr>
    </table>
    <br>
    <b>Cordialement,</b>
    <br>
    <br>
    <a href="https://www.developpez.net/forums/d2144106/autres-langages/python/general-python/inserer-logo-mail-python/">Retour au topic</a>
    <br>
    <br>
    <img src="https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823__340.jpg"></img>
    </body>
    </html>
    '''
     
    # on crée deux éléments MIMEText
    texte_mime = MIMEText(texte, 'plain')
    html_mime = MIMEText(html, 'html')
     
    # on attache ces deux éléments
    message.attach(texte_mime)
    message.attach(html_mime)
     
    # on crée la connexion
    #context = 'ssl.create_default_context()'
    context = ('cert.crt', 'key.key')
    with smtplib.SMTP_SSL('smtp.XXXX.fr', 465, 'context=context',) as server:
    	# connexion au compte
    	server.login('mon login', "mon mot de passe super secret qu'il vaut mieux ne pas mettre dans un code")
    	# envoi du mail
    	server.sendmail('......@XXXX.fr', 'bibiho@yopmail.com', message.as_string())
    en remplaçant évidemment "XXXXX" par ton serveur smtp et en remplaçant le blanc de la dernière ligne par une adresse mail d'expéditeur appropriée (et appartenant au-dit serveur).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    "mon mot de passe super secret qu'il vaut mieux ne pas mettre dans un code"


    Sinon pour ma part j'ai jamais réussi à envoyer un mail via python... Donc bravo pour cette première étape, le reste c'est du html basique.

    https://developer.mozilla.org/fr/doc...Images_in_HTML

  11. #11
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par LeNarvalo Voir le message
    Sinon pour ma part j'ai jamais réussi à envoyer un mail via python...
    Sinon sous Linux il y a aussi le très très basique programme_python_qui_ecrit_un_truc |mail destinataire@serveur (en pouvant remplacer "programme_python_qui_ecrit_un_truc" par "n'importe_quel_programme_en_quoi_que_ce_soit_qui_ecrit_un_truc").

    Ta vidéo m'a éclaté
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Les exemples ne manquent pas en réalité: https://stackoverflow.com/questions/...mbedded-images
    Vous n'êtes pas le premier à vouloir réaliser ce genre de chose.
    Il est possible d'incruster les images directement dans le mail (le mot clé utile ici est cid).
    Cette méthode me paraît préférable, car inclure des images hébergées peut augmenter le spam score (vu que ça peut être utilisé pour le tracking = web bugs).

  13. #13
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Comme je l'ai dit, il faut qu'il soit sur l'ordinateur du client !!!


    Ben moi j'ai essayé en mettant <img src="https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823__340.jpg"> et ça marche parfaitement.

    Je t'ai d'ailleurs envoyé un mail contenant cette image (via ton propre programme). Tu vas sur le site https://yopmail.com/fr/ (site de mails poubelle). Dans le champ "Saisissez le mail jetable de votre choix" tu tapes "bibiho" et tu valides avec la flèche et tu verras 1) mon mail (19h31) et 2) l'image en question en bas (faut juste cliquer sur le petit lien bleu "Afficher les images" en haut sous la date)...

    Et si par accident un intervenant lisant ce post supprime le message (accessible à tous) tu peux recommencer l'essai en utilisant ce code (créé à partir du tien)
    Code python : 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
    #!/usr/bin/env python3
     
    import smtplib
    import ssl
    import socket
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    #from PIL import Image
     
    # on crée un e-mail
    message = MIMEMultipart("alternative")
    # on ajoute un sujet
    message["Subject"] = "[Message de Svear] Forum Développez"
    # un émetteur
    message["From"] = 'svear'
    # un destinataire
    message["To"] = 'bibiho@yopmail.com'
     
    # on crée un texte et sa version HTML
    texte = '''
    Bonjour
    Ben chez-moi ça marche !!!
    Cdt
    https://www.developpez.net/forums/d2144106/autres-langages/python/general-python/inserer-logo-mail-python/
    '''
     
    html = '''
    <html>
    <body>
    <h1>Bonjour</h1>
    <p>Ben chez-moi ça marche !!!</p>
    <table border=1 width="500" height="200">
    <caption>Rapport de Telesauvegarde</caption>
    <tr><th>Designation</th><th>Status</th></tr>
    <tr><td>message</td><td>Sauvegarde Valide</td></tr>
    </table>
    <br>
    <b>Cordialement,</b>
    <br>
    <br>
    <a href="https://www.developpez.net/forums/d2144106/autres-langages/python/general-python/inserer-logo-mail-python/">Retour au topic</a>
    <br>
    <br>
    <img src="https://cdn.pixabay.com/photo/2015/12/01/20/28/road-1072823__340.jpg"></img>
    </body>
    </html>
    '''
     
    # on crée deux éléments MIMEText
    texte_mime = MIMEText(texte, 'plain')
    html_mime = MIMEText(html, 'html')
     
    # on attache ces deux éléments
    message.attach(texte_mime)
    message.attach(html_mime)
     
    # on crée la connexion
    #context = 'ssl.create_default_context()'
    context = ('cert.crt', 'key.key')
    with smtplib.SMTP_SSL('smtp.XXXX.fr', 465, 'context=context',) as server:
    	# connexion au compte
    	server.login('mon login', "mon mot de passe super secret qu'il vaut mieux ne pas mettre dans un code")
    	# envoi du mail
    	server.sendmail('......@XXXX.fr', 'bibiho@yopmail.com', message.as_string())
    en remplaçant évidemment "XXXXX" par ton serveur smtp et en remplaçant le blanc de la dernière ligne par une adresse mail d'expéditeur appropriée (et appartenant au-dit serveur).
    Bonjour,
    dsl pour la reponse tardive je vais essayé ton code. merci

Discussions similaires

  1. Afficher un logo dans un mail à partir d'un fichier Java
    Par larmedesang dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 27/03/2012, 18h13
  2. [AC-2002] Inserer dynamiquement un logo dans un etat
    Par mr63 dans le forum IHM
    Réponses: 4
    Dernier message: 04/06/2009, 17h25
  3. Inserer un logo dans un rapport discoverer plus
    Par elhilm dans le forum Débuter
    Réponses: 0
    Dernier message: 19/08/2008, 22h49
  4. inserer un logo dans une toolbar?
    Par azamharir dans le forum MFC
    Réponses: 0
    Dernier message: 30/04/2008, 02h19
  5. comment inserer un logo dans un HTML????
    Par Mickey.jet dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 20/03/2006, 15h53

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