summaryrefslogtreecommitdiff
path: root/emailcanary/email-digest-sender.py
blob: e1aad3813e73adf8d03835c2954014d7e27df311 (plain)
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
import smtplib
from email import message
from . import emailutils

PASSWORD="secret"
ACCOUNTS = [('mail.example.com', 'email@example.com', PASSWORD)]
DESTINATION="other@example.com"

youve_got_mail = False
all_subjects = {}

for account in ACCOUNTS:
    mail = emailutils.get_imap(account[0], account[1], account[2])
    these_subjects = []
    for uid in emailutils.get_mail_uids(mail):
        message = emailutils.get_message(mail, uid)
        these_subjects.append(message['subject'])
        youve_got_mail = True
    all_subjects[account[1]] = these_subjects


if youve_got_mail:
    msg = ""
    for account in all_subjects:
        msg = msg + "# Messages for %s\n" % account
        for subject in all_subjects[account]:
            msg = msg + " * %s\n" % subject
        msg = msg + "\n"

    digest_message = message.Message()
    digest_message.set_payload(msg)
    digest_message['From'] = DESTINATION
    digest_message['To'] = DESTINATION
    digest_message['Subject'] = "Email Digest"

    s = smtplib.SMTP_SSL('localhost', 2465)
    s.sendmail(DESTINATION, DESTINATION, digest_message.as_string())
    s.quit()