-
Notifications
You must be signed in to change notification settings - Fork 2
/
send_mails.py
49 lines (37 loc) · 1.19 KB
/
send_mails.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import sqlite3
import smtplib
from email.message import EmailMessage
import sys
from mailconfig import SERVER, PORT, USER, PW, FROM, TO, URL, CC
def db(func):
def func_wrapper(*args, **kw):
db = sqlite3.connect('db.sqlite3')
c = db.cursor()
res = func(c, *args, **kw)
db.commit()
db.close()
return res
return func_wrapper
@db
def get_new_registrations(c):
c.execute("SELECT * FROM registration_member where status='pending'");
return c.fetchall()
new_regs = get_new_registrations()
if not new_regs:
sys.exit(0)
msg = EmailMessage()
msg.set_content("""Es gibt {} neue Mitgliedsanträge.
@Kassenwarte: Bitte verifizieren!
{}
Anträge mit dem Status "pending" anklicken, Daten prüfen, das "Entrydate" (=Eintrittsdatum -> "heute" falls es keinen besonderen Grund gibt) setzen und den Status auf "approved" setzen. Danach im collmex gucken ob das Mitglied dort richtig ankommt. Falls nicht, nilo nerven.
""".format(len(new_regs), URL))
msg['Subject'] = 'Neue Online-Mitgliedsanträge'
msg['From'] = FROM
msg['To'] = TO
if CC:
msg['CC'] = CC
s = smtplib.SMTP(SERVER, PORT)
if (USER and PW):
s.login(USER, PW)
s.send_message(msg)
s.quit()