E-Mailprogramm - Text

Fragen zu Tkinter.
Antworten
Benutzeravatar
jtschoch
User
Beiträge: 400
Registriert: Freitag 6. Mai 2011, 15:40
Kontaktdaten:

Bei meinen E-Mailprogramm wenn ich da eine E-Mail schreibe kommt kein text an!

Hier die Bilder:
Bild

Bild

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
#iso-859-1
import time
from Tkinter import *
from tkMessageBox import *
import smtplib
import getpass
import Tkinter as tk
import Tkinter
import tkMessageBox
import sys
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
#.place(relx=0.04, rely=0.40, relwidth=0.86, relheight=0.45)

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.dll' , '')

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

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",                               
        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\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",                               
        bg='royalblue', padx=20, pady=20, fg='ivory', relief='groove')
    help_label.pack(fill='both', padx=5, pady=5)
   

def save():

  usereintrag = eusereintrag.get(master)
  mailservereintrag = emailservereintrag.get(master)
  
  daten = open("daten.cfd", 'w')
  daten.write(mailservereintrag)
  daten.write(usereintrag)
  daten.close()
  ask_quit()

def options():
  master=Tkinter.Tk()
  master.title("E-Mailprogramm - Options")
  root.resizable(width=FALSE, height=FALSE)
  master.config(bg = "#E3E2E9")
  master.geometry('627x120')
  info = Tkinter.Label(master, text = "Hier können sie ihre Daten als User eintragen:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))
  info.grid(row = 0)    
  lusereintrag = Tkinter.Label(master, text = "User:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))

  lusereintrag.grid(row = 1)    

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

  eusereintrag.grid(row = 1, column = 1, ipadx = 30, padx = 4, pady = 2)
  eusereintrag.insert(1, "Bsp. Max.Mustermann@gmx.de")

  lmailservereintrag = Tkinter.Label(master, text = "Mailserver:",  bg = "#E3E2E9",fg = "black",  
                      font =('Arial', 11, 'bold'))

  lmailservereintrag.grid(row = 2)    

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

  emailservereintrag.grid(row = 2, column = 1, ipadx = 30, padx = 4, pady = 2)
  emailservereintrag.insert(2, "Bsp. mail.gmx.net")

  saveb = Tkinter.Button(master, text = "Save", bg = "white",
                      fg = "black",command = save)
  saveb.grid(row = 3, padx = 4, pady = 4, ipadx = 30)
  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)

Options = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Options", menu=Options)
Options.add_command(label="Options", command=options)

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)
    
    #empfaenger 
    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:
        log = open('E-Mailprogramm.exe.log','a')
        log.write("\n\n\n")
        log.write("-----------------------------------------------------------------------\n\n\n")
        log.write("Es konnte keine verbindung zum Server hergestellt werden!\n\n\n")
        log.write("------------------------------------------------------------------------\n\n\n")
        log.close()
        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()


daten = open('daten.cfd', 'r')
#daten.readline()
mailserver = daten.readline()
userread = daten.readline()
daten.close()

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, userread)

user = euser.get()


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, "")


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,userread)



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)

#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()
Zuletzt geändert von jtschoch am Samstag 30. Juni 2012, 15:04, insgesamt 2-mal geändert.
Meine Webseite http://www.develos.de
Forum: http://www.develos.de/forum
Mein Minecraft-Server: jonel.minecraft.to [dynmap(:8123)] | Webseite: http://jonel-minecraft.tk
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

`msgtext` wird nie genutzt.

Daneben ist es wirklich eine Zumutung einen so langen Code nich in Codetags zu posten.
lunar

@jtschoch: Bitte binde keine Screenshots in voller Größe in Deinen Beitrag ein, sondern nur kleine Vorschaubilder. Das sollte jeder Bilder-Hoster beherrschen. Bitte lagere so lange Quelltextstücke außerdem in ein Pastebin aus.

In seiner gegenwärtigen Form ist Dein Beitrag nämlich nur sehr schwer lesbar.
Antworten