ziemlich kompliziert das mit den mime-encoding, protocol, etc zu wervalten, gibts den kein email modul womit ich emails empfangen und senden kann und mich dabei um diese eher low level angelegenheiten nicht kümmern muss?
danke
universeles email modul
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
E-Mails senden kannst du mit Gerolds simplemail.py, welches aber nur das Senden übernimmt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
zum senden.
entweder simplemail ( im forum zu finden)
oder einfach
zum empfangen haben ich auch nichts gescheites gefunden.
mein code.:
entweder simplemail ( im forum zu finden)
oder einfach
Code: Alles auswählen
server="****com"
empfaenger = "****"
absender = "****"
server = smtplib.SMTP(server)
server.sendmail (absender, empfaenger,"text text ")
server.quit()
mein code.:
Code: Alles auswählen
class mailer:
def __init__(self):
None
#self.frager()
def frager(self):
self.mails = []
M = poplib.POP3(host)
M.user(benutzer)
M.pass_(passw)
if len(M.list()[1]) <> 0:
for mailanzahl in range(len(M.list()[1])):
header,mes,obje = M.retr(mailanzahl+1)
text = string.join(mes, "\n")
m = email.message_from_string(text)
typen = m.items()
adresse= ""
betreff = ""
datum = ""
for a in range(len(typen)):
if typen[a][0] == "From":
adresse=typen[a][1]
if typen[a][0] == "Date":
datum=typen[a][1]
if typen[a][0] == "DATE":
datum=typen[a][1]
for a in range(len(typen)):
if typen[a][0] == "Subject":
betreff=str(typen[a][1]).decode("quopri_codec")
style = re.findall("""\=\?(.+?)\?Q\?.*""", str(betreff))
if style <> []:
betreff=betreff.replace(str(style[0]),"")
betreff=betreff.replace("=?","")
betreff=betreff.replace("?Q?","")
betreff=betreff[:-1]
anhang = ""
blocker = 0
emailarte = "text"
inhalt =""
for part in m.walk():
print "-----------part get payload-----_"
print part.get_payload()
if part.get_content_maintype() == "text" and blocker == 0 :
blocker = 1
inhalt = part.get_payload()
inhalt = inhalt.decode("quopri_codec")
if part.get_content_type() == "text/html":
emailarte = "html"
inhalt= "<html>" + inhalt
if part.get_content_maintype() == 'multipart':
continue
if part.get_filename() <> None:
#anhang.append([part.get_filename(),part.get_payload(decode=1)])
anhang = anhang + "%%%" + part.get_filename()
fp = open(os.path.join(os.curdir,"anhang/"+ part.get_filename()), 'wb')
fp.write(str(part.get_payload(decode=1)))
fp.close()
try:
s = datum.split()
ge = s[4].split(":")
d = time.strptime("%s %s %s" % (s[1], s[2], s[3]), "%d %b %Y")
zeit = str(time.strftime("%Y.%m.%d", d)).split(".")
genaueZeit = (int(zeit[0]),int(zeit[1]),int(zeit[2]),int(ge[0]),int(ge[1]),int(ge[2]),0,0,0)
genaueZeit = time.mktime(genaueZeit)
except:
genaueZeit = 1454617342
daten.einf(adresse.replace("'",""),betreff.replace("'",""),str(genaueZeit),"",inhalt.replace("'",""),str(anhang),str(emailarte),'eingang-neu')
M.quit()
self.killer()
def killer(self):
M = poplib.POP3(host)
M.user(benutzer)
M.pass_(passw)
for a in range(len(M.list()[1])):
M.dele(a+1)
M.quit()
import poplib,email
import urllib2,htmllib,formatter ,sys, smtplib, string
from email.Message import Message
usw...
import urllib2,htmllib,formatter ,sys, smtplib, string
from email.Message import Message
usw...
`unsauberkeit` mit 10 XOR verknüpfen!? Sicher dass Du nicht ``unsauberkeit**10`` meintest?Costi hat geschrieben:beim programmieren ist das aber eigentlich nicht anders; unsauberkeit^10

ich meinet jetzt aber das latex "^".....
dazu noch eine frage:
die __init__ meiner klasse sieht jetzt so aus:
was ist aber wenn nhemand nur server_out_proto aendern will? ich brauechte etwas wie zb in threading:
wie geht das aber?
dazu noch eine frage:
die __init__ meiner klasse sieht jetzt so aus:
Code: Alles auswählen
def __init__(self, email, pwd, login = 0, server_in = 0, server_out = 0, server_in_proto = 0, server_out_proto = 0):
Code: Alles auswählen
threading.Thread(target = sth)
Das wäre dann aber eher ``unsauberkeit^{10}``, sonst bezieht sich das ``^`` nur auf die ``1``.Costi hat geschrieben:ich meinet jetzt aber das latex "^".....

Genauso: Klasse('x@u.com', 'geheim', server_out_proto=42)dazu noch eine frage:
die __init__ meiner klasse sieht jetzt so aus:was ist aber wenn nhemand nur server_out_proto aendern will? ich brauechte etwas wie zb in threading:Code: Alles auswählen
def __init__(self, email, pwd, login = 0, server_in = 0, server_out = 0, server_in_proto = 0, server_out_proto = 0):
wie geht das aber?Code: Alles auswählen
threading.Thread(target = sth)
Sind das echt alles Zahlen die da übergeben werden? Wenn es andere Objekte sind, dann würde ich die mit `None` vorbelegen.
ok, du hast gewonnen^^

aso, doch ganz einfach, meiner meinung nach ist das aber ein bischen gegen pythons philosofie: select, ? :, usw gibt es ja auch nichtGenauso: Klasse('x@u.com', 'geheim', server_out_proto=42)
sollten strings sein, bei keiner angabe wird ein moglichst richtiges default wert ermittelt, aber ich kan auch None schreibenSind das echt alles Zahlen die da übergeben werden? Wenn es andere Objekte sind, dann würde ich die mit `None` vorbelegen.

also, ich weiß nicht, was du willst...
http://www.cs.unm.edu/~dlchao/flake/doom/
von dem, was ich gelesen habe, dachte ich mir, dass du
(leider kann ich nicht quoten, da meine maus grade den dienst versagt hat)
ein email-modul schreiben willst, dass während der laufzeit seinen server ändert.
du hattest das mit threading eingeworfen. aber du brauchst doch zum kompletten email-handlen alle angaben, die in deiner __init__ verzeichnet sind.
daher verstehe ich nicht, was
(ah, jetzt hat es geklappt)
oder sollen die default-werte so sinnvoll gewählt sein, dass der nutzer vllt gar nichts ändern will?[/quote]
(leider kann ich nicht quoten, da meine maus grade den dienst versagt hat)
ein email-modul schreiben willst, dass während der laufzeit seinen server ändert.
du hattest das mit threading eingeworfen. aber du brauchst doch zum kompletten email-handlen alle angaben, die in deiner __init__ verzeichnet sind.
daher verstehe ich nicht, was
(ah, jetzt hat es geklappt)
soll. meinst du, dass jemand vllt nur versenden will?was ist aber wenn nhemand nur server_out_proto aendern will?
oder sollen die default-werte so sinnvoll gewählt sein, dass der nutzer vllt gar nichts ändern will?[/quote]
http://www.cs.unm.edu/~dlchao/flake/doom/
genau so,oder sollen die default-werte so sinnvoll gewählt sein, dass der nutzer vllt gar nichts ändern will?
ich hab gerade verstanden wie oop geht, also da noch was mit threading zu machen wäre ein bischen zu krass

hehe ist mir auch mal passiert, es gibt da eine bestimmte tastenkombi unter win, die die "tastatur maus" aktiviertleider kann ich nicht quoten, da meine maus grade den dienst versagt hat