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 :

problème avec bibliothèque smtplib et pyqt


Sujet :

Python

  1. #1
    Futur Membre du Club
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut problème avec bibliothèque smtplib et pyqt
    Bonsoir,
    je suis entrais de développer une petit application sous python v3.3 et pyqt 4. dont j'aimerai ajouter l'option d'envoyer par mail le contenue d'un widget QPlainTextEdit (textcrypter)

    voici le code
    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
    def send(self):
          to=self.text_email_to.text()
          gmail_user=self.text_email_user.text()
          gmail_pwd=self.mdp.text()
          message=self.textcrypter.toPlainText() 
          print(message)
          smtpserver=smtplib.SMTP("smtp.gmail.com",587)
          smtpserver.ehlo()
          smtpserver.starttls()
          smtpserver.ehlo
          smtpserver.login(gmail_user, gmail_pwd)
          header = "To:" + to + "\n" + "From: " + gmail_user + "\n" + "Subject:secret \n"
          msg=header + '\n' + " vous trouvez ci-joint le cryptogramme" + message
          smtpserver.sendmail(gmail_user, to, msg)
          QMessageBox.information(self,'email',"email envoyé avec sucée")
          smtpserver.close()
    alors l'envoie s'effectue très bien mais au moment que je contenue du message contiens des caractères spécial le programme s’arrête avec le message ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Python 3.2.2 (default, Sep  4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)]
    Type "help", "copyright", "credits" or "license" for more information.
    [evaluate fendes.py]
    ¡;®ÐŠÃ>À}qpÎ
    Traceback (most recent call last):
      File "<wingdb_compile>", line 47, in send
      File "C:\Python32\lib\smtplib.py", line 733, in sendmail
        msg = _fix_eols(msg).encode('ascii')
    UnicodeEncodeError: 'ascii' codec can't encode character '\xa1' in position 121: ordinal not in range(128)
    si vous ne voyez pas bien le problème posez des questions.
    merci pour votre lecture et vos suggestions
    Images attachées Images attachées  

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut problème d'encodage
    Salut,

    Le problème que tu rencontre est tout à fait normal.

    A partir de la version 3.0, python considère que toutes les chaînes de caractères sont unicode (utf-8 précisément).

    Or, dans un e-mail, lorsque l'encodage n'est pas spécifié, c'est supposé être
    du pur ascii us (7 bits).

    Donc, si tu veux envoyer un message unicode (au tout autre page de code que
    us ascii), il faut le spécifier. Ceci permet au programme client de le décoder sans problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    msg = MIMEText(monmessage,'html','utf-8')
    Note que, en général, j'envoie des message html, ce qui me permet de réaliser
    des mises en évidence.

    Dans le cas de texte plein, sers toi de la méthode set_charset() de l'objet message.

    Voilà. J'espère t'avoir été utile et à bientôt.

  3. #3
    Futur Membre du Club
    Étudiant
    Inscrit en
    Juillet 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut remerciement
    oui je vois le problème clairement maintenant . alors la solution que je fait c'est d’envoyer le mail en code binaire .
    pour vous expliquez, je suis entrain de développer une petit application a l'aide de python qui me permet de chiffrer mes emails a l'aide de DES et de l’envoyer par mail .
    dans tout les cas maintenant ca marche( en binair) mais ce n est pas trop pratique C pour me dépanner
    il me reste seulement de vous dire un grand merci pour votre aide .

Discussions similaires

  1. problème avec bibliothèque MPI
    Par b.moussa dans le forum C++
    Réponses: 2
    Dernier message: 22/01/2012, 15h44
  2. problème avec bibliothèque sous eclipse
    Par Jaafar_scorpion dans le forum Android
    Réponses: 1
    Dernier message: 09/03/2011, 15h01
  3. Problème avec Bibliothèque corejava
    Par Gobelins dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/05/2010, 15h48
  4. problème avec bibliothèque sys
    Par remessa dans le forum Général Python
    Réponses: 4
    Dernier message: 30/11/2008, 21h33
  5. problème avec bibliothéque Gtk
    Par lili81 dans le forum C++Builder
    Réponses: 0
    Dernier message: 22/10/2008, 13h30

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