E-Mail Bomber mit Python

Fragen zu Tkinter.
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Hallo
Ich versuche aus Test Zwecken einen E-Mail Bomber zu schreiben.
Doch er funktioniert nicht. Er versendet einfach keine Mails.
Könnt ihr mir helfen?

Danke schon mal.

Mfg Andi

Code: Alles auswählen

from Tkinter import *
import smtplib
import time
from tkMessageBox import *

root=Tk()
root.title("E-mail Bomber by Andi")
root.config(bg="black")

gesendet=0

def bomb():
    anzahl=e6.get()
    for i in range(0, int(anzahl), 1):
        mailserver=e4.get()
        e2get=e2.get()
        e1get=e1.get()
        e3get=e3.get()
        e5get=e5.get(END)
        absender=(e2get)
        adressat=(e1get)
        betreff=(e3get)
        inhalt=(e5get)
        text=inhalt
        fehler=1
        while(fehler==1):
            try:
                server=smtplib.SMTP(mailserver)
                fehler=0
            except:
                showinfo(title="Fehler!", message="Es konnte keine Verbindung zum Mailserver hergestellt werden!")
                break
        zeit=time.ctime(time.time())
        text='From:'+absender+'\n'
        text +='To:'+adressat+'\n'
        text +='Date:'+zeit+'\n'
        text +='Subject:'+betreff+'\n'
        server.set_debuglevel(1)
        server.sendmail(absender, adressat, text)
        gesendet=gesendet+1
    server.quit()
    if(anzahl>0):
        showinfo(title="Fertig!", message="Die Mails wurden gesendet!")
                
    

l1=Label(root, text="Empfaenger:", bg="black", fg="red")
l1.grid(row=0)
l2=Label(root, text="Absender:", bg="black", fg="red")
l2.grid(row=1)
l3=Label(root, text="Betreff:", bg="black", fg="red")
l3.grid(row=2)
l4=Label(root, text="Mailserver:", bg="black", fg="red")
l4.grid(row=3)
l5=Label(root, text="Text:", bg="black", fg="red")
l5.grid(row=4)
l6=Label(root, text="Anzahl", bg="black", fg="red")
l6.grid(row=5)
l7=Label(root, text="Gesendet", bg="black", fg="red")
l7.grid(row=6)
e1=Entry(root, relief="ridge", bg="black", fg="red")
e1.grid(row=0, column=1, ipadx=20, padx=4, pady=2)
e1.insert(0, "Lotsen@aol.com")
e2=Entry(root, relief="ridge", bg="black", fg="red")
e2.grid(row=1, column=1, ipadx=20, padx=4, pady=2)
e2.insert(0, "BillG@microsoft.com")
e3=Entry(root, relief="ridge", bg="black", fg="red")
e3.grid(row=2, column=1, ipadx=20, padx=4, pady=2)
e3.insert(0, "Fuck you!!!")
e4=Entry(root, relief="ridge", bg="black", fg="red")
e4.grid(row=3, column=1, ipadx=20,  pady=1)
e4.insert(0, "mail.uniserve.com")
e5=Text(root, relief="ridge", bg="black", fg="red", height=5, width=20)
e5.grid(row=4, column=1, padx=4, pady=2)
e5.insert(END, "You have been Mailbombed! Hahaha")
e6=Entry(root, relief="ridge", bg="black", fg="red")
e6.grid(row=5, column=1, ipadx=20, pady=1)
e6.insert(END, "1")
e7=Entry(root, relief="ridge", bg="black", fg="red")
e7.grid(row=6, column=1, ipadx=20, pady=1)
e7.insert(0, gesendet)
b1=Button(root, text="Bomben", command=bomb, bg="black", fg="red")
b1.grid(row=6, padx=4, pady=2)

root.mainloop()
problembär

Dies ist die Tkinter-Rubrik, wo ist also Deine GUI-Frage?

Eigentlich möchte ich auch nicht bei sowas helfen, am Ende benutzt Du das noch.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo und willkommen im Forum!

Also erstmal solltest du deinen Code ein wenig aufräumen:
- Das Python-Tutorial und PEP8 durchlesen
- Weg mit den *-Importen
- Keine Durchnummerierung von Namen. Wenn du das tust, dann willst du Listen/Tupel und Schleifen
- Die Klammern bei den if- und while-Statements entfernen
- Vernünftig mit Exceptions umgehen
- True und False benutzen
- Python-Code-Tags hier im Forum benutzen

Sebastian
Das Leben ist wie ein Tennisball.
problembär

@EyDu: Findest Du so einen Email-Bomber ok (sei es nun zu Testzwecken oder nicht)?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Ich habe keine Probleme damit.
Das Leben ist wie ein Tennisball.
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Danke EyDu
Ich habe ja gar nicht gewusst was ich alles Falsch mache.
Ich habe meinen code jetzt geändert wie du gesagt hast.
Nur weiß ich nicht was an den Exceptions nicht passt und wo ich True or False benutzen sollte.

Der veränderte code:

Code: Alles auswählen

import Tkinter
import smtplib
import time
import tkMessageBox

root=Tkinter.Tk()
root.title("E-mail Bomber by Andi")
root.config(bg = "black")

gesendet = 0

def bomb():
    anzahl = eanzahl.get()
    for i in range(0, int(anzahl), 1):
        mailserver = emailserver.get()
        absender = eabsender.get()
        empfaenger = eempfaenger.get()
        betreff = ebetreff.get()
        text = etext.get(0.0)
        fehler = 1
        while fehler == 1:
            try:
                server = smtplib.SMTP(mailserver)
                fehler = 0
            except:
                tkMessageBox.showinfo(title = "Fehler!",
                         message = """Es konnte keine Verbindung zum
                                      Mailserver hergestellt werden!""")
                break
            fehler = 1
            while fehler == 1:
                try:
                    zeit = time.ctime(time.time())
                    text = 'From:' + absender + '\n'
                    text += 'To:'+empfaenger + '\n'
                    text += 'Date:' + zeit + '\n'
                    text += 'Subject:' + betreff + '\n'
                    server.set_debuglevel(1)
                    server.sendmail(absender, adressat, text)
                    gesendet = gesendet + 1
                    server.quit()
                    if gesendet == anzahl:
                        tkMessageBox.showinfo(title = "Fertig!",
                                 message = "Die Mails wurden gesendet!")
                    fehler = 0
                except:
                    tkMessageBox.showinfo(title = "Fehler!",
                             message = """Beim senden ist ein Fehler
                                          aufgetreten!""")    
                    break
                break
            break

lempfaenger = Tkinter.Label(root, text = "Empfaenger:", bg = "black",
                            fg = "red")
lempfaenger.grid(row = 0)
labsender = Tkinter.Label(root, text = "Absender:", bg = "black", fg = "red")
labsender.grid(row=1)
lbetreff = Tkinter.Label(root, text = "Betreff:", bg = "black", fg = "red")
lbetreff.grid(row = 2)
lmailserver = Tkinter.Label(root, text = "Mailserver:", bg = "black",
                            fg = "red")
lmailserver.grid(row = 3)
ltext = Tkinter.Label(root, text = "Text:", bg = "black", fg = "red")
ltext.grid(row = 4)
lanzahl = Tkinter.Label(root, text = "Anzahl", bg = "black", fg = "red")
lanzahl.grid(row=5)
lgesendet = Tkinter.Label(root, text = "Gesendet", bg = "black", fg = "red")
lgesendet.grid(row = 6)
eempfaenger = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
eempfaenger.grid(row = 0, column = 1, ipadx = 20, padx = 4, pady = 2)
eempfaenger.insert(0, "Lotsen@aol.com")
eabsender = Tkinter.Entry(root, relief="ridge", bg="black", fg="red")
eabsender.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
eabsender.insert(0, "BillG@microsoft.com")
ebetreff = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
ebetreff.grid(row = 2, column = 1, ipadx = 20, padx = 4, pady = 2)
ebetreff.insert(0, "Fuck you!!!")
emailserver = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
emailserver.grid(row = 3, column = 1, ipadx = 20,  pady = 1)
emailserver.insert(0, "mail.uniserve.com")
etext = Tkinter.Text(root, relief = "ridge", bg = "black", fg = "red",
                     height = 5, width = 20)
etext.grid(row = 4, column = 1, padx = 4, pady = 2)
etext.insert(0.0, "You have been Mailbombed! Hahaha")
eanzahl = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
eanzahl.grid(row = 5, column = 1, ipadx = 20, pady = 1)
eanzahl.insert(0, "1")
egesendet = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
egesendet.grid(row = 6, column = 1, ipadx = 20, pady = 1)
egesendet.insert(0, gesendet)
bomben = Tkinter.Button(root, text = "Bomben", command = bomb, bg = "black",
                        fg = "red")
bomben.grid(row = 6, padx = 4, pady = 2)

root.mainloop()
Zuletzt geändert von andy885 am Sonntag 7. März 2010, 12:09, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du nutzt immer noch keine Python-Tags, fängst Exceptions ohne konkrete Ausnahme ab, hast Code auf Modulebene und nutzt zudem ungarische Notation die sinnlos ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Ich habe jetzt einiges geändert nur funktioniert jetzt get() nicht mehr.
Um die Exceptions kümmere ich mich später darum habe ich sie entfernt.

Code: Alles auswählen

import Tkinter
import smtplib
import time
import tkMessageBox

def bomb():
    gesendetemails = 0
    anzahlmails = anzahl.get()
    sender = absender.get()
    empfang = empfaenger.get()
    for i in range(0, int(anzahlmails), 1):
        server = smtplib.SMTP(mailserver.get())
        server.ehlo()
        zeit = time.ctime(time.time())
        text = 'From:' + sender + '\n'
        text += 'To:'+ empfang + '\n'
        text += 'Date:' + zeit + '\n'
        text += 'Subject:' + betreff.get() + '\n'
        text += 'Text: ' + textfeld.get(0.0)
        server.set_debuglevel(1)
        server.sendmail(sender, empfang, text)
        gesendetemails = gesendetemails + 1
        server.quit()
        if gesendet == anzahl:
            tkMessageBox.showinfo(title = "Fertig!",
                                  message = "Die Mails wurden gesendet!")

def main():
    root = Tkinter.Tk()
    root.title("E-mail Bomber by Andi")
    root.config(bg = "black")
            
    empfaengerLabel = Tkinter.Label(root, text = "Empfaenger:", bg = "black", fg = "red")
    empfaengerLabel.grid(row = 0)
    absenderLabel = Tkinter.Label(root, text = "Absender:", bg = "black", fg = "red")
    absenderLabel.grid(row=1)
    betreffLabel = Tkinter.Label(root, text = "Betreff:", bg = "black", fg = "red")
    betreffLabel.grid(row = 2)
    mailserverLabel = Tkinter.Label(root, text = "Mailserver:", bg = "black", fg = "red")
    mailserverLabel.grid(row = 3)
    textLabel = Tkinter.Label(root, text = "Text:", bg = "black", fg = "red")
    textLabel.grid(row = 4)
    anzahlLabel = Tkinter.Label(root, text = "Anzahl", bg = "black", fg = "red")
    anzahlLabel.grid(row=5)
    gesendetLabel = Tkinter.Label(root, text = "Gesendet", bg = "black", fg = "red")
    gesendetLabel.grid(row = 6)
    empfaenger = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
    empfaenger.grid(row = 0, column = 1, ipadx = 20, padx = 4, pady = 2)
    empfaenger.insert(0, "Lotsen@aol.com")
    absender = Tkinter.Entry(root, relief="ridge", bg="black", fg="red")    
    absender.grid(row = 1, column = 1, ipadx = 20, padx = 4, pady = 2)
    absender.insert(0, "BillG@microsoft.com")
    betreff = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
    betreff.grid(row = 2, column = 1, ipadx = 20, padx = 4, pady = 2)
    betreff.insert(0, "Fuck you!!!")
    mailserver = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
    mailserver.grid(row = 3, column = 1, ipadx = 20,  pady = 1)
    mailserver.insert(0, "mail.uniserve.com")
    textfeld = Tkinter.Text(root, relief = "ridge", bg = "black", fg = "red", height = 5, width = 20)
    textfeld.grid(row = 4, column = 1, padx = 4, pady = 2)
    textfeld.insert(0.0, "You have been Mailbombed! Hahaha")
    anzahl = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
    anzahl.grid(row = 5, column = 1, ipadx = 20, pady = 1)
    anzahl.insert(0, "1")
    gesendet = Tkinter.Entry(root, relief = "ridge", bg = "black", fg = "red")
    gesendet.grid(row = 6, column = 1, ipadx = 20, pady = 1)
    gesendet.insert(0, "0")
    bomben = Tkinter.Button(root, text = "Bomben", command = bomb, bg = "black", fg = "red")
    bomben.grid(row = 7, padx = 4, pady = 2)

if __name__ == "__main__":
    main()
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

Du solltest das Programm vielleicht erst einmal ohne GUI zum laufen bringen und dann erst die GUI drum rum bauen.
Bottle: Micro Web Framework + Development Blog
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Ja danke ich werde es wohl so machen müssen
problembär

Es wäre kein Problem, das Programm zum Laufen zu bringen, ich helf' Dir dabei aber nicht.

Kannst Du nicht was freundlicheres, konstruktiveres schreiben?
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Das ist ja nur zur Übung, du hast ja meinen Code am Anfang gesehen.
Außerdem habe ich keinen Plan was ich sonst schreiben könnte.
Hast du vielleicht eine Idee was ich schreiben könnte ich bin ja noch Anfänger.

Mfg Andi
Benutzeravatar
DeKugelschieber
User
Beiträge: 82
Registriert: Sonntag 28. Februar 2010, 12:23
Kontaktdaten:

Es reicht ja wohl wenn du erstmal eine E-Mail verschickst, z.b. für eine registration. und das dann am besten in eine klasse dann kannst du das auch immer wiederverwenden
MfG DeKugelschieber
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Auch wenn es euch nicht gefällt ich versuche es so lange bis es funktioniert.

Mit SMTP hat es nicht funktioniert da vom server immer ein fehler kam.
Darum versuche ich es jetzt mit IMAP und ich bin schon fast fertig
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Also mit IMAP wirst du ziemlich sicher keine Mails schicken können...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

andy885 hat geschrieben:Außerdem habe ich keinen Plan was ich sonst schreiben könnte.
Hast du vielleicht eine Idee was ich schreiben könnte ich bin ja noch Anfänger.
http://www.python-forum.de/topic-22020.html
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Aber für was ist dann IMAP4.send() ?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

andy885 hat geschrieben:Aber für was ist dann IMAP4.send() ?
So wie ich die Dokumentation verstehe ist das um Mails auf den IMAP-Server zu schicken. Der verstaut dann die Mails in der Mailbox des angemeldeten Users. So gesehen kannst du damit dir selbst Mails "senden". Habe Zweifel daran, dass es das ist was du machen willst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
problembär

Leonidas hat geschrieben:So gesehen kannst du damit dir selbst Mails "senden". Habe Zweifel daran, dass es das ist was du machen willst.
Graf Zahl hat sich manchmal selbst Briefe geschrieben, um sie dann zu zählen :P .
andy885
User
Beiträge: 9
Registriert: Samstag 6. März 2010, 19:35

Danke für die antwort
Das habe ich nicht gewusst
Es wird wohl nichts mit dem Bomber

Danke an alle für ihre Antworten.

Mfg Andi
Antworten