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 :

mail mime et français


Sujet :

Python

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut mail mime et français
    Je me suis mis recement mis a python pour l envoi d emails depuis un serveur web car j ai remarqué que le module email.MIMEText fixait un certain nombre de problème que j avais avec mon ancienne solution PHP...

    ...un certain nombre seulement... car j ai un probleme précis

    Mon mail est en français et contient donc des caractères comme é , à ou ç

    le probleme est que mon mail html passe tres bien dans tous les webmails et clients desktop que j ai pu tester sauf outlook 2007 ( j ai pas eu de retours sur d autres versions, mais thunderbird, foxmail ou des clients mac et linux sont tous OK)

    Dans outlook et uniquement j obtiens de maniere incompréhensible des "?" sur certains caracteres comme des espaces ou certains accents. Parfois un é accent passe et pas le suivant...

    pour le subject, je m en sort avec ceci

    msgRoot['Subject'] = u' %s souhaite vous faire découvrir**...."' % (name)
    Alors que le From ( msgRoot['From'] ) la meme technique ne sort un truc du style : =?utf-8?q?T........v=2E


    Bref , c est le gros carnage et je ne peux malheuresement pas savoir qui a outlook et qui l a pas...

    mon fichier python contient ceci :

    # coding=iso-8859-15

  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 me semble que j'avais résolu ce genre de pb (mais ça fait un certain temps).

    Essaie de t'inspirer de mon tuto ici:

    http://python.jpvweb.com/mesrecettes...xpedition_mail.

    Et dis-moi si ça marche.

    Tyrtamos
    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
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    merci pour le lien,

    j ai regardé, j utilise une methode tres propre de la tienne.

    tes problemes etaient aussi uniquement sur outlook/exchange?


    c est delicat, car mon client utilise ca , mais il semble que le probleme soit vraiment lié a exchange, meme sous outlook 2007 sans exchange, je ne reproduit pas le bug.

  4. #4
    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
    J'ai simplement pu constater que ça marchait avec outlook (2003) (sans exchange) et avec outlook express.

    Regarde surtout la partie encodage: le protocole mail a dû être inventé avec de l'ascii, et tout a été ajouté après: ça fait un peu désordre.

    Le seul problème que j'ai rencontré avec ce code, c'est quand j'ai voulu envoyer 200 mails (destinaires et contenus différents) d'un coup: mon fournisseur d'accès, croyant que c'était du spam, a coupé la ligne . j'ai dû envoyer des courriers papier. Je mettrai une tempo la prochaine fois.

    Tyrtamos
    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

  5. #5
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    en fait il semble qu il y ai deux choses :


    1) il faut vraiment encoder tous les accents et caractères en html
    é => é
    " => "

    parfois

    " " ->  

    2) attention aux copier/coller : la maquette etait réalisée dans photoshop et en copiant/collant les textes de se soft, j ai vu avec un editeur hexa des caracteres pas beau dans mon texte ..


    Résultat : pour le body c est ok

    par contre j ai toujours le probleme sur le champ from et la je bloque encore

    strFrom = 'Truc à bidule <truc@xxxxxxxxx.fr>'

    msgRoot = MIMEMultipart('related')
    msgRoot['Subject'] = u'%s à é du texte ' % ( friend_name )
    msgRoot['From'] = strFrom

    # plus loin

    import smtplib
    smtp = smtplib.SMTP()
    smtp.connect('localhost')
    smtp.sendmail(strFrom, strTo, msgRoot.as_string())
    smtp.quit()
    La , ce qui se passe, c est que le sujet est correctement encodé mais l expéditeur est mal interpreté : un ? remplace le caractere "à"


    J ai deja essayé le 'u' devant la string du strFrom , mais c est pire

    je pense que c est lié au fait que smtp.sendmail aime pas trop un premier param accentué , mais comment faire?

  6. #6
    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,

    Une idée: essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strFrom =  u'Truc à bidule <truc@xxxxxxxxx.fr>'.encode('iso-8859-15')
    Tyrtamos
    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

  7. #7
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Bonjour,

    oui j ai tenté mais c est pareil ... ? à la place de à

    je viens de recevoir un spam avec un accent dans l expéditeur qui passe bien dans outlook 2007 , je vais essayer de voir comment c est formaté (bien la premiere fois que je vois une utilité a un courrier pareil )

  8. #8
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    j ai trouvé un truc qui marche:


    mettre =?ISO-8859-1?Q?=E0?= à la place de à directement dans l expediteur

  9. #9
    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
    Bizarre...

    Dans ma dernière suggestion, tu n'as pas oublié le 'u' avant le 1er guillemet? Parce que cela aurait dû conduire au même résultat que le dernier que tu cites.

    Tyrtamos
    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

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

Discussions similaires

  1. mail MIME avec PJ, pb de texte tronqué
    Par Invité dans le forum Langage
    Réponses: 0
    Dernier message: 06/09/2011, 05h57
  2. [PEAR][Mail] Return path avec Mail Mime de Pear
    Par boteha dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 13/05/2010, 15h12
  3. [PEAR Mail Mime] HTML visible dans le mail
    Par bigltnt dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/09/2009, 16h31
  4. Réponses: 12
    Dernier message: 10/11/2008, 10h14
  5. [Mail] Mail mime
    Par maxnad dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2005, 17h11

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