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

Tkinter Python Discussion :

Logiciel envoie mail (probleme)


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut Logiciel envoie mail (probleme)
    slt a tous,
    sa fait quelle que jour que je touche a python et j'aimerai savoir si vous pouvier m'aider. voila mon 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
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    #! python
    # -*- coding: cp1252 -*-
    from Tkinter import *
    import Tkinter as Tk
    import tkMessageBox as Msg
     
     
    ## Fenêtre principale
    root = Tk.Tk()   
    root.geometry("500x600")
    root.title("Envoie de mail")
    root.iconbitmap("xp.ico")
     
    ##Fenetres du menu
    def About(): Msg.showinfo("A propos", "Version 1.0 \n Développer par Frelon")
     
     
    ## Barre de menu
    mainmenu = Tk.Menu(root)  
     
    ## Menu fils menuFichier
    menuFichier = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Fichier
    menuFichier.add_command(label="Quitter", command=root.destroy)
     
    ## Menu fils menuFichier
    menuHelp = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Help
    menuHelp.add_command(label="A propos", command=About)
     
    ##Option Menu Principale
    mainmenu.add_cascade(label = "Fichier", menu=menuFichier)
    mainmenu.add_cascade(label = "?", menu=menuHelp)
     
    ##Fin du Menu
    root.config(menu = mainmenu)
     
    ##Texte
    Label(root, text ="Envoyer des mails").pack()
     
     
     
    #Formule pour la liste
    def onSelect(e):
        select=listb.get(listb.curselection())
        lab.configure(text=select, fg="black")
        listb.configure()
     
     
     
    listb=Listbox(root)
    lab=Label(root,text="", fg="red")
    listb.pack()
    lab.pack()
     
    # Insertion des server smtp
    for  smtp  in  ["smtp.neuf.fr","smtp.9online.fr","smtp.fr.aol.com","smtp.lycos.co.uk","smtp.cegetel.net","smtp.free.fr",
                       "smtp.freesurf.fr","smtp.gawab.com","smtp.gmail.com","smtp.ifrance.com","smtp.laposte.net",
                       "mail.noos.fr","smtp.orange.fr","smtp.tele2.fr","smtp.tiscali.fr","smtp.wanadoo.fr",
                       "smtp.mail.yahoo.fr"]:
            listb.insert(END,smtp)
     
    # Un double click dans la liste appellera la fonction onSelect:		
    listb.bind('<Double-1>',onSelect)
     
     
     
     
    #Formulaire envoie mail
    Label(root, text ="Expéditeur : ").pack()
    ex = Entry(root, width =30)
    ex.pack()
     
    Label(root, text ="Destinataire : ").pack()
    des = Entry(root, width=30, background="white")
    des.pack()
     
    Label(root, text ="Titre : ").pack()
    ti = Entry(root, width=30, background="white")
    ti.pack()
     
     
    Label(root, text ="Message : ").pack()
    msg = Text(root, width=30, height=10, background="#EEE")
    msg.pack()
     
    #Bouton + formule
    def envoie():
        print valeur.get()
     
    bouton=Button(root, command=envoie, text="Envoyer")
    bouton.pack()
     
    ##Insere le texte dans la fenetre
    root.mainloop()
    je voudrai que kan apres avoir choisie le server smtp, puis remplie le formulaire
    je click sur le bouton et il envoie le message. jai trouver sur internet
    un bout de code pour envoyer des mail depuis la console mais je ne sais pas comment transformer pour le mettre dans mon application. voici le code pour envoyer les mail depuis la console:
    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
    import smtplib
     
    def prompt(prompt):
        return raw_input(prompt).strip()
     
    de = prompt("De: ")
    a  = prompt("à: ").split()
    print "Entrer le message et finir par Ctrl+D :"
     
    # Add the From: and To: headers at the start!
    msg = ("De: %s\r\n a: %s\r\n\r\n"
           % (de, ", ".join(a)))
    while 1:
        try:
            line = raw_input()
        except EOFError:
            break
        if not line:
            break
        msg = msg + line
     
    print "Nombre de caractere" + repr(len(msg))
     
    server = smtplib.SMTP('smtp.free.fr')
    server.set_debuglevel(1)
    server.sendmail(de, a, msg)
    server.quit()
    merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut voili voilou voila
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
     
    import smtplib
     
    # -*- coding: cp1252 -*-
    from Tkinter import *
    import Tkinter as Tk
    import tkMessageBox as Msg
     
     
    ## Fenêtre principale
    root = Tk.Tk()   
    root.geometry("500x600")
    root.title("Envoie de mail")
    #root.iconbitmap("xp.ico")
     
    ##Fenetres du menu
    def About(): Msg.showinfo("A propos", "Version 1.0 \n Développer par Frelon")
     
     
    ## Barre de menu
    mainmenu = Tk.Menu(root)  
     
    ## Menu fils menuFichier
    menuFichier = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Fichier
    menuFichier.add_command(label="Quitter", command=root.destroy)
     
    ## Menu fils menuFichier
    menuHelp = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Help
    menuHelp.add_command(label="A propos", command=About)
     
    ##Option Menu Principale
    mainmenu.add_cascade(label = "Fichier", menu=menuFichier)
    mainmenu.add_cascade(label = "?", menu=menuHelp)
     
    ##Fin du Menu
    root.config(menu = mainmenu)
     
    ##Texte
    Label(root, text ="Envoyer des mails").pack()
     
     
     
    #Formule pour la liste
    def onSelect(e):
        select=listb.get(listb.curselection())
        lab.configure(text=select, fg="black")
        listb.configure()
        return select
     
     
    listb=Listbox(root)
    lab=Label(root,text="", fg="red")
    listb.pack()
    lab.pack()
    i=0
    # Insertion des server smtp
    for  smtp  in  ["smtp.wanadoo.fr","smtp.9online.fr","smtp.fr.aol.com","smtp.lycos.co.uk","smtp.cegetel.net","smtp.free.fr",
                       "smtp.freesurf.fr","smtp.gawab.com","smtp.gmail.com","smtp.ifrance.com","smtp.laposte.net",
                       "mail.noos.fr","smtp.orange.fr","smtp.tele2.fr","smtp.tiscali.fr","smtp.wanadoo.fr",
                       "smtp.mail.yahoo.fr","smtp.wanadoo.fr"]:
            listb.insert(i,smtp)
            i+=1		
    # Un double click dans la liste appellera la fonction onSelect:		
    listb.bind('<Double-1>',onSelect)
     
     
     
     
    #Formulaire envoie mail
    Label(root, text ="Expéditeur : ").pack()
    ex = Entry(root, width =30)
    ex.pack()
    userlabel=Label(root,text="user")
    userlabel.pack()
    user=Entry(root,width=30)
    user.pack()
    loginlabel=Label(text="login")
    loginlabel.pack()
    login=Entry(root,width=30)
    login.pack()
    Label(root, text ="Destinataire : ").pack()
    des = Entry(root, width=30, background="white")
    des.pack()
     
    Label(root, text ="Titre : ").pack()
    ti = Entry(root, width=30, background="white")
    ti.pack()
     
     
    Label(root, text ="Message : ").pack()
    msg = Text(root, width=30, height=10, background="#EEE")
    msg.pack()
    smtp1=smtplib.SMTP()
    #Bouton + formule
    def envoie(*args):
     
        smtp1.connect(lab['text'],25)
        smtp1.login(user.get(),login.get())
        smtp1.sendmail(ex.get(),des.get(),msg.get('0.0',END))
        smtp1.quit()
    bouton=Button(root, command=envoie, text="Envoyer")
    bouton.pack()
     
    ##Insere le texte dans la fenetre
    root.mainloop()

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut
    j'ai une erreur kan je veut inserer le titre pour le mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def envoie(*args):
     
        smtp1.connect(lab['text'],25)
        #smtp1.login(user.get(),login.get())
        smtp1.sendmail(ex.get(),des.get(),msg.get('0.0',END),ti.get())
        smtp1.quit()
    bouton=Button(root, command=envoie, text="Envoyer")
    bouton.pack()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "G:\Python-2.5\lib\lib-tk\Tkinter.py", line 1403, in __call__
        return self.func(*args)
      File "C:\Documents and Settings\Frelon_\Mes documents\python\tes.py", line 108, in envoie
        smtp1.sendmail(ex.get(),des.get(),msg.get('0.0',END),ti.get())
      File "G:\Python-2.5\lib\smtplib.py", line 684, in sendmail
        raise SMTPSenderRefused(code, resp, from_addr)
    SMTPSenderRefused: (555, 'Unsupported option: t', 'rom911@free.fr')

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut re: probleme envoie message
    la fonction sendmail prends trois parametre et non quatre
    il faut que tu ajoute ce code et que tu modifie senmail comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    from email.mime.base import MIMEBase
    from email.mime.multipart import MIMEMultipart
    msge=MIMEMultipart()
    msge['subject']=ti.get()
    msge['from']=ex.get()
    msge['to']=des.get()
    img=MIMEBase('text','plain')
    img.set_payload(msg.get('0.0',END))
    msge.attach(img)
    smtp1.sendmail(ex.get(),des.get(),msge.as_string())
    je crois que tu peu l inserer dans la fonction envoie a tester sauf les appel import que tu appelle en debut du programme

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut ton code avec ce qu il faut ajouter
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
     
    import smtplib
     
    # -*- coding: cp1252 -*-
    from Tkinter import *
    import Tkinter as Tk
    import tkMessageBox as Msg
    from email.mime.base import MIMEBase
    from email.mime.multipart import MIMEMultipart
     
     
     
    ## Fenêtre principale
    root = Tk.Tk()   
    root.geometry("500x600")
    root.title("Envoie de mail")
    #root.iconbitmap("xp.ico")
     
    ##Fenetres du menu
    def About(): Msg.showinfo("A propos", "Version 1.0 \n Développer par Frelon")
     
     
    ## Barre de menu
    mainmenu = Tk.Menu(root)  
     
    ## Menu fils menuFichier
    menuFichier = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Fichier
    menuFichier.add_command(label="Quitter", command=root.destroy)
     
    ## Menu fils menuFichier
    menuHelp = Tk.Menu(mainmenu)
    ## Ajout d'une option au menu Help
    menuHelp.add_command(label="A propos", command=About)
     
    ##Option Menu Principale
    mainmenu.add_cascade(label = "Fichier", menu=menuFichier)
    mainmenu.add_cascade(label = "?", menu=menuHelp)
     
    ##Fin du Menu
    root.config(menu = mainmenu)
     
    ##Texte
    Label(root, text ="Envoyer des mails").pack()
     
     
     
    #Formule pour la liste
    def onSelect(e):
        select=listb.get(listb.curselection())
        lab.configure(text=select, fg="black")
        listb.configure()
        return select
     
     
    listb=Listbox(root)
    lab=Label(root,text="", fg="red")
    listb.pack()
    lab.pack()
    i=0
    # Insertion des server smtp
    for  smtp  in  ["smtp.wanadoo.fr","smtp.9online.fr","smtp.fr.aol.com","smtp.lycos.co.uk","smtp.cegetel.net","smtp.free.fr",
                       "smtp.freesurf.fr","smtp.gawab.com","smtp.gmail.com","smtp.ifrance.com","smtp.laposte.net",
                       "mail.noos.fr","smtp.orange.fr","smtp.tele2.fr","smtp.tiscali.fr","smtp.wanadoo.fr",
                       "smtp.mail.yahoo.fr","smtp.wanadoo.fr"]:
            listb.insert(i,smtp)
            i+=1		
    # Un double click dans la liste appellera la fonction onSelect:		
    listb.bind('<Double-1>',onSelect)
     
     
     
     
    #Formulaire envoie mail
    Label(root, text ="Expéditeur : ").pack()
    ex = Entry(root, width =30)
    ex.pack()
    userlabel=Label(root,text="user")
    userlabel.pack()
    user=Entry(root,width=30)
    user.pack()
    loginlabel=Label(text="login")
    loginlabel.pack()
    login=Entry(root,width=30)
    login.pack()
    Label(root, text ="Destinataire : ").pack()
    des = Entry(root, width=30, background="white")
    des.pack()
     
    Label(root, text ="Titre : ").pack()
    ti = Entry(root, width=30, background="white")
    ti.pack()
     
     
    Label(root, text ="Message : ").pack()
    msg = Text(root, width=30, height=10, background="#EEE")
    msg.pack()
    smtp1=smtplib.SMTP()
    #Bouton + formule
    def envoie(*args):
        msge=MIMEMultipart()
        msge['subject']=ti.get()
        msge['from']=ex.get()
        msge['to']=des.get()
        img=MIMEBase('text','plain')
        img.set_payload(msg.get('0.0',END))
        msge.attach(img)
     
        smtp1.connect(lab['text'],25)
        smtp1.login(user.get(),login.get())
        smtp1.sendmail(ex.get(),des.get(),msge.as_string())
     
        smtp1.quit()
    bouton=Button(root, command=envoie, text="Envoyer")
    bouton.pack()
     
    ##Insere le texte dans la fenetre
    root.mainloop()

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut Grand merci
    Grand merci a toi je vait teste dsl de repondre aussi tard mais je bosse et jai pas le temp de regarder, mais merci encore!

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

Discussions similaires

  1. [Mail] envoi mail probleme avec from
    Par pascale86 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2008, 15h48
  2. [Mail] probleme envoie mail
    Par phoeniix07 dans le forum Langage
    Réponses: 7
    Dernier message: 21/06/2006, 14h35
  3. [Mail] probleme d'envoi de mail
    Par Naruto_kun dans le forum Langage
    Réponses: 8
    Dernier message: 08/06/2006, 15h42
  4. [Mail] Probleme d'envoi d'e-mail
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2006, 15h33
  5. [Mail] Probleme pour l'envoi de mails avec mime
    Par tof91 dans le forum Langage
    Réponses: 1
    Dernier message: 09/03/2006, 16h44

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