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

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()