verschickt Email via GMail mit beliebigen Anhang an einen Empfänger und beliebig viele BCC´

This commit is contained in:
hubobel 2017-10-10 17:08:20 +02:00
parent 9a914f1024
commit 87f4157c36

120
Test.py
View file

@ -1,81 +1,49 @@
class VerwalteterGeldbetrag: import smtplib
def __init__(self, anfangsbetrag): from email.mime.multipart import MIMEMultipart
self.Betrag = anfangsbetrag from email.mime.text import MIMEText
def einzahlenMoeglich(self, betrag): from email.mime.base import MIMEBase
return True from email import encoders
def auszahlenMoeglich(self, betrag):
return True
def einzahlen(self, betrag):
if betrag < 0 or not self.einzahlenMoeglich(betrag):
return False
else:
self.Betrag += betrag
return True
def auszahlen(self, betrag):
if betrag < 0 or not self.auszahlenMoeglich(betrag):
return False
else:
self.Betrag -= betrag
return True
def zeige(self):
#print("Betrag: {:.2f}".format(self.Betrag))
class AllgemeinesKonto(VerwalteterGeldbetrag): fromaddr = 'carsten.richter77@gmail.com'
def __init__(self,kundendaten, kontostand): bcc = ['schneeschieben@web.de', 'carsten@hubobel.de', 'johanna.richter.vogt@googlemail.com', 'crichter@soka-bau.de']
super().__init__(kontostand) toaddr = 'carsten.richter77@gmail.com'
self.Kundendaten = kundendaten pwd = 'xxxxxxxx'
def geldtransfer(self, ziel, betrag):
if self.auszahlenMoeglich(betrag) and ziel.einzahlenMoeglich(betrag):
self.auszahlen(betrag)
ziel.einzahlen(betrag)
return True
else:
return False
def zeige(self):
self.Kundendaten.zeige()
VerwalteterGeldbetrag.zeige(self)
class AllgemeinesKontoMitTagesumsatz(AllgemeinesKonto): msg = MIMEMultipart()
def __init__(self, kundendaten, kontostand, max_tagesumsatz=1500):
super().__init__(kundendaten, kontostand)
self.MaxTagesumsatz = max_tagesumsatz
self.UmsatzHeute = 0.0
def transferMoeglich(self, betrag):
return (self.UmsatzHeute + betrag <= self.MaxTagesumsatz)
def auszahlenMoeglich(self, betrag):
return self.transferMoeglich(betrag)
def einzahlenMoeglich(self, betrag):
return self.transferMoeglich(betrag)
def einzahlen(self, betrag):
if AllgemeinesKonto.einzahlen(self, betrag):
self.UmsatzHeute += betrag
return True
else:
return False
def auszahlen(self, betrag):
if AllgemeinesKonto.auszahlen(self, betrag):
self.UmsatzHeute += betrag
return True
else:
return False
def zeige(self):
AllgemeinesKonto.zeige(self)
#print("Heute schon {:.2f} von {:.2f} Euro umgesetzt".format(self.UmsatzHeute, self.MaxTagesumsatz))
class GirokontoKundendaten: msg['From'] = fromaddr
def __init__(self, inhaber, kontonummer): msg['To'] = toaddr
self.Inhaber = inhaber msg['Subject'] = 'Hello World of Python-test2'
self.Kontonummer = kontonummer
def zeige(self):
print("Inhaber:", self.Inhaber)
print("Kontonummer:", self.Kontonummer)
class GirokontoMitTagesumsatz(AllgemeinesKontoMitTagesumsatz):
def __index__(self, inhaber, kontonummer, kontostand, max_tagesumsatz=1500):
kundendaten = GirokontoKundendaten(inhaber, kontonummer)
super().__init__(kundendaten, kontostand, max_tagesumsatz)
k1=GirokontoMitTagesumsatz("Carsten", 5678, 1234.78) body = 'Hello World again and again and again'
k2=GirokontoMitTagesumsatz("Johanna", 1234, 1000.78)
k1.geldtransfer(k2, 1000) msg.attach(MIMEText(body, 'plain'))
k2.zeige()
filename = 'heute.pdf'
attachment = open('mpg/heute.pdf','rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition','attachment; filename= %s'% filename)
msg.attach(part)
filename = 'morgen.pdf'
attachment = open('mpg/morgen.pdf','rb')
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition','attachment; filename= %s'% filename)
msg.attach(part)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr,pwd)
text = msg.as_string()
server.sendmail(fromaddr, bcc, text)
server.quit()