Seite 1 von 1

E-Mailprogramm

Verfasst: Donnerstag 19. Mai 2011, 18:05
von jtschoch
Wie binde ich hier so ein Optionsmenü ein (http://effbot.org/tkinterbook/optionmenu.htm)

Code: Alles auswählen

root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schlißen?"):
        root.destroy()
        root.mainloop()

def About():

    root = Tk()
    root.title('About')
    Message(root, text="\n"
          "\n"
          "\n"
          "\n"
          "\n", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=30, pady=20)
    root.mainloop()


def Help():

    root = Tk()
    root.title('About')
    Message(root, text="\n"
          "\n"
          " "
          "", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=40, pady=10)
    root.mainloop()
    
#Menue



menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()
    
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

luser.grid(row = 1)    

euser = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
euser.insert(1, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Entry(root, show="***")
password_entry.grid(row=2, column=1, stick=N+E+S+W)
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

lmailserver = Tkinter.Label(root, text = "Mailserver(pop):",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lmailserver.grid(row = 3)

emailserver = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

emailserver.grid(row = 3, column = 1, ipadx = 20, padx = 4, pady = 2)
emailserver.insert(3, "mail.gmx.net")

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)   

eempfaenger = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)   

ebetreff = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = StringVar(root)
variable.set("one")

OptionMenu(root, variable, "one", "two", "three")




    
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()



Ich freue mich schon auf die Antworten!!!

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:09
von BlackJack
@jtschoch: Schau Dir das Beispiel das Du aus der Dokumentation dort übernommen hast noch einmal genau an. Das sieht da ein klein wenig anders aus.

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:14
von jtschoch
Das hier?

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:23
von jtschoch
kapiere ich nicht - kann mir bitte mal jemand den python code schreiben

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:34
von jtschoch
@Moderator^^ Da stürtzt bei mir das Programm ab - funktioniert nicht (ich weiß ja nicht wie ich es einbinden soll)

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:36
von BlackJack
@jtschoch: Du hast in Deinem ersten Beitrag die Dokumentation von effbot zum `OptionMenu` verlinkt und das Beispiel von dort findet sich *fast* 1:1 in Deinem Quelltext wieder. Warum sollte ich da irgendeine Seite über Tix meinen!?

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:42
von jtschoch
Ja aber genau bei dem stürtzt es ab!!!

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:44
von Hyperion
jtschoch hat geschrieben:Ja aber genau bei dem stürtzt es ab!!!
Also ich sehe da einen "diff"... schau Dir Deinen Code mal im Vgl. zu dem ersten Beispiel im Link noch mal an.

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:47
von jtschoch
ich möchte ja das in root (programm einbauen) bei master als extra fenster funktionierts!!!

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 18:55
von Hyperion
Ich kann es leider nicht starten:

Code: Alles auswählen

1 nelson@destiny ~/src/Python/snippets/forum % python optionsmenu.py
Traceback (most recent call last):
  File "optionsmenu.py", line 4, in <module>
    root=Tkinter.Tk()
NameError: name 'Tkinter' is not defined
1 nelson@destiny ~/src/Python/snippets/forum % python2 optionsmenu.py
Traceback (most recent call last):
  File "optionsmenu.py", line 4, in <module>
    root=Tkinter.Tk()
NameError: name 'Tkinter' is not defined
Weiß jemand, ob Tk unter Arch in einem separaten Modul liegt?

Edit: Narf! War kein import da :oops:

@jtschoch: Kannst Du demnächst mal bitte lauffähigen Code posten, wenn Du uns schon alles hier "reinknallst". Wie sehen Deine imports aus?

Re: Hilfe bei Optionsmenü

Verfasst: Donnerstag 19. Mai 2011, 20:22
von wuf
Hallo jtschoch

Ich habe dein Skript gründlich entlaust. Das heisst nur lauffähig gemacht. Die Schönschreibung möchte ich dier überlassen. Habe auch keine weiteren Verbesserungen vorgenommen.Das Optionsmenü musst du selber in deinen Gridlayout platziern. Für die Buttons nicht den Place-Manager sondern den Grid- oder Grid- mit Pack-Manager kombiniert verwenden:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Tkinter
import tkMessageBox

root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()

def About():

    about = Tkinter.Toplevel()
    about.title('About')
    about_label = Tkinter.Label(about, text="Hier mehr About-Info please.!",
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    about_label.pack(fill='both', padx=5, pady=5)


def Help():

    help = Tkinter.Toplevel()
    help.title('Help')
    help_label = Tkinter.Label(help, text="Hier etwas Hilfe please!",
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    help_label.pack(fill='both', padx=5, pady=5)
   

menubar = Tkinter.Menu(root)
filemenu = Tkinter.Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
       

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()
   
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

luser.grid(row = 1)    

euser = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
euser.insert(1, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Tkinter.Entry(root, show="***")
password_entry.grid(row=2, column=1, stick='nesw')
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

lmailserver = Tkinter.Label(root, text = "Mailserver(pop):",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lmailserver.grid(row = 3)

emailserver = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

emailserver.grid(row = 3, column = 1, ipadx = 20, padx = 4, pady = 2)
emailserver.insert(3, "mail.gmx.net")

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)  

eempfaenger = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)  

ebetreff = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = Tkinter.StringVar(root)
variable.set("one")

#option_menu = Tkinter.OptionMenu(root, variable, "one", "two", "three")
#option_menu.grid()




   
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Tkinter.Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Tkinter.Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
Gruß wuf :wink:

Re: Hilfe bei Optionsmenü

Verfasst: Freitag 20. Mai 2011, 15:52
von jtschoch
danke!!!

Re: Hilfe bei Optionsmenü

Verfasst: Freitag 20. Mai 2011, 16:31
von jtschoch
wie kann ich oben bei Help die Schrift linksbündig machen?

Re: Hilfe bei Optionsmenü

Verfasst: Freitag 20. Mai 2011, 16:58
von jtschoch
So sieht es jetzt aus:
Bild

So soll es aussehen:
Bild

Also ist auch noch die nächste Frage:
wie ich das Eingabefeld für den Mailtext größer mache und das Passwortfeld kürzer


Bitte helft mir!!!

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import Tkinter
from Tkinter import *
import smtplib
import Tkinter as tk
import tkMessageBox
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.geometry('410x350')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()

def About():

    about = Tkinter.Toplevel()
    about.title('About')
    about_label = Tkinter.Label(about, text="E-Mailprogramm von Jonas\n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n(C)Jonas Tschoche",                               
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    about_label.pack(fill='both', padx=5, pady=5)


def Help():

    help = Tkinter.Toplevel()
    help.title('Help')
    help_label = Tkinter.Label(help, text="E-Mailprogramm von Jonas Tschoche\n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n"
          "1.Mail Server\n"
          "\n"
          "aikQ Mail(kostenpflichtig)\n"
          "\n"
          "Posteingangsserver: 	aikq.de\n"
          "Postausgangsserver: 	aikq.de\n"
          "Benutzername: 	Benutzername@aikq.de\n"
          "Besonderheiten: 	Verwendet SMTP-Authentifizierung.\n"
          "                     Verwendet STARTTLS (SMTP-Port 25).\n"

          "\n(C)Jonas Tschoche",                               
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    help_label.pack(fill='both', padx=5, pady=5)
   #Text soll Linksbündig sein 

menubar = Tkinter.Menu(root)
filemenu = Tkinter.Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Tkinter.Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():

    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msg = etext.get(0.0)

    print "E-Mailprogramm"
    print "Version 2"

    #Login& Absenderdaten
    
    user = (user)
    passwort =  (passw)
    betreff = (betreff)
    absender = (user)
    print ""
    
    
    msg = "To:" + empfaenger + "\n"
    msg = msg + "From: " + absender + "\n"
    msg = msg + "Subject: "+ betreff + "\n\n"


    session = smtplib.SMTP(mailserver)
    session.login(user, passwort)

    smtpresult = session.sendmail(absender, empfaenger, msg)

    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()


    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
       

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()

   
leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

luser.grid(row = 1)    

euser = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
euser.insert(1, "")


lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2)


epassw = password_entry = Tkinter.Entry(root, show="***")
password_entry.grid(row=2, column=1, stick='nesw')
#epassw.grid(row = 2, column = 2, ipadx = 20, padx = 4, pady = 2)

lmailserver = Tkinter.Label(root, text = "Mailserver(pop):",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lmailserver.grid(row = 3)

emailserver = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

emailserver.grid(row = 3, column = 1, ipadx = 20, padx = 4, pady = 2)
emailserver.insert(3, "mail.gmx.net")

lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lempfaenger.grid(row = 4)  

eempfaenger = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

eempfaenger.grid(row = 4, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(4, "")


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 5)  

ebetreff = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

ebetreff.grid(row = 5, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(5, "")

#Hier soll so ein Optionsmenü  entstehen
#Danke in voraus!!!


variable = Tkinter.StringVar(root)
variable.set("one")

#option_menu = Tkinter.OptionMenu(root, variable, "one", "two", "three")
#option_menu.grid()


   
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 10, width = 30)
etext.grid(row = 6, column = 1, padx = 0, pady = 10)
etext.insert(0.0, "")




Exit=Tkinter.Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.20, relheight=0.08)


button1=Tkinter.Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.20, relheight=0.08)

#text=Text(font = '{Arial} 11')
#text.place(relx=0.03, rely=0.34, relwidth=0.83, relheight=0.55)

root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()

Re: Hilfe bei Optionsmenü

Verfasst: Freitag 20. Mai 2011, 19:45
von problembär
jtschoch hat geschrieben:Bitte helft mir!!!
Warum sollte ich? Solange Du's nicht selbst peilst, kommst Du noch mit den nächsten 150 Fragen. Im Ergebnis heißt das dann:
Schreib mir gefälligst mein Programm!!!
Nee danke, mach' ma' lieber selbst!

Re: E-Mailprogramm

Verfasst: Sonntag 22. Mai 2011, 09:18
von wuf
Hallo jtschoch

Ich würde die Place- & Grid-Layoutmanager nur in Sonderfällen verwenden. Probiere einmal die Applikation mit dem Pack-Layoutmanager aufzusetzen.

Gruß wuf :wink:

Re: E-Mailprogramm

Verfasst: Sonntag 29. Mai 2011, 13:21
von jtschoch
Mit dem E-Mail Programm komm ich gut voran außer:
es kommt nur bei der Nachricht der erste Buchstabe raus - wenn ich mir die Mai in ein Postfach angucke

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-


from Tkinter import *
from tkMessageBox import *
import smtplib
import Tkinter as tk
import Tkinter
import tkMessageBox
import sys
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


root=Tkinter.Tk()
root.title("E-Mailprogramm - Neue E-Mail")
root.config(bg = "#E3E2E9")
root.resizable(width=FALSE, height=FALSE)
root.geometry('1270x750')
root.iconbitmap('mail6.ico')

def ask_quit():
    if tkMessageBox.askokcancel("Quit", "Möchtest du das Fenster wirklich schließen?"):
        root.destroy()
        root.mainloop()

def About():

    root = Tk()
    root.title('About')
    Message(root, text="E-Mailprogramm von Jonas \n"
          "\n"
          "E-Mailprogramm\n"
          "Version: 5\n"
          "\n", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=30, pady=20)
    root.mainloop()


def Help():

    root = Tk()
    root.title('About')
    Message(root, text="E-Mailprogramm\n"
          "\n"
          "E-MAILPROGRAMM  "
          "Version: 5 ", bg='royalblue',
          fg='ivory', relief=GROOVE).pack(padx=40, pady=10)
    root.mainloop()
    
#Menue



menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
#menubar.grid(row = 6, column = 1, padx = 0, pady = 10)

filemenue = Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=filemenue)
filemenue.add_command(label="Exit", command=ask_quit)


helpmenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="Help Index", command=Help)
helpmenu.add_command(label="About", command=About)

root.config(menu=menubar)


def send():
    absender = eabsender.get()
    user = euser.get()
    passw = epassw.get()
    mailserver = emailserver.get()
    empfaenger = eempfaenger.get()
    betreff = ebetreff.get()
    msgtext = etext.get(0.0)


    print "E-Mailprogramm"
    print "Version 2"
 

    #Login& Absenderdaten
    absender1 = (absender)
    user = (user)
    passwort =  (passw)
    betreff = (betreff)
    absender = (user)

    msg = "To:" + empfaenger + "\n"
    msg = msg + "From: " + absender1 + "\n"
    msg = msg + "Subject: "+ betreff +  "\n\n"
    msg = msg + msgtext


    try: 
        session = smtplib.SMTP(mailserver)
        session.login(user, passwort)
        smtpresult = session.sendmail(absender, empfaenger, msg)
        if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        
            root.protocol("WM_DELETE_WINDOW", ask_quit)
            root.destroy()
    
    except:
        print "Es konnte keine verbindung zum Server hergestellt werden!"
        root.iconbitmap('warnung.ico')
        if tkMessageBox.showwarning("Senden Fehlgeschlagen", "Es konnte keine Verbindung zum Server hergestellt werden!\nOder ihre Angaben sind Falsch"):
        
            root.protocol("WM_DELETE_WINDOW", ask_quit)
            root.destroy()
            
        session = smtplib.SMTP(mailserver)
        session.login(user, passwort)

        session.sendmail(absender, empfaenger, msg)

    if tkMessageBox.askokcancel("Senden erfolgreich", "Gesendet"):
        

        root.protocol("WM_DELETE_WINDOW", ask_quit)
        root.destroy()




temp = open("mailserver.txt", 'r')
mailserver = temp.read()
temp.close()



leeresfeld = Tkinter.Label(root, text = "",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 6, 'bold'))

leeresfeld.grid(row = 0)    

temp = open("user.txt", 'r')
readtemp = temp.read()
temp.close()

luser = Tkinter.Label(root, text = "User:",  bg = "#E3E2E9",fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

luser.grid(row = 1)    

euser = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

euser.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
euser.insert(1, readtemp)

user = euser.get()
temp = open("user.txt", 'a')
temp.close()
lpassw = Tkinter.Label(root, text = "Password:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lpassw.grid(row = 2 )


epassw = password_entry = Entry(root, show="***")
password_entry.grid(row=2, column=1,ipadx = 40, padx = 4, pady = 4) #stick= N+E+S+W
#epassw.grid(row = 2, column = 1)

lmailserver = Tkinter.Label(root, text = "      Mailserver(pop):",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lmailserver.grid(row = 3)

emailserver = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

emailserver.grid(row = 3, column = 1, ipadx = 20, padx = 4, pady = 2)
emailserver.insert(3, mailserver)


lbetreff = Tkinter.Label(root, text = "Betreff:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

lbetreff.grid(row = 4)   

ebetreff = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

ebetreff.grid(row = 4, column = 1, ipadx = 450, padx = 4, pady = 20)
ebetreff.insert(4, "")

temp = open("user.txt", 'r')
readtemp = temp.read()
temp.close()


labsender = Tkinter.Label(root, text = "Absender:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))

labsender.grid(row = 5)   

eabsender = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

eabsender.grid(row = 5, column = 1, ipadx = 450, padx = 4, pady = 2)
eabsender.insert(5,readtemp)



lempfaenger = Tkinter.Label(root, text = "Empfänger:",  bg = "#E3E2E9", fg = "black",  #Fabe: #E3EDFC"
                      font =('Arial', 11, 'bold'))


lempfaenger.grid(row = 6)   

eempfaenger = Tkinter.Entry(root, relief = "ridge", bg = "#FFFFFF", fg = "red",
                      font =('Arial', 11, 'bold'))

eempfaenger.grid(row = 6, column = 1, ipadx = 450, padx = 4, pady = 2)
eempfaenger.insert(6, "")




    
etext = Tkinter.Text(root, relief = "ridge", bg = "white", fg = "red",
                     height = 20, width = 135)
etext.config(font=('Arial', 11))
etext.grid(row = 7,column = 1, padx =10 , pady = 30)
etext.insert(0.0, "")



Exit=Button(text='Exit',command = ask_quit)

Exit.place(relx=0.45, rely=0.91, relwidth=0.10, relheight=0.04)


button1=Button(text='Sende',command = send)
button1.place(relx=0.07, rely=0.91, relwidth=0.10, relheight=0.04)


root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
----------------------------------------------------------------------------
Und wie geht das mit den Texten beim Pack-Layoutmanager?