aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraeroniero33 <justthisthing@gmail.com>2016-08-27 14:07:07 +0000
committerBrian Dolbec <dolsen@gentoo.org>2016-12-23 20:54:14 -0800
commit78c83d8030ad8628887e2705bdc95b485a8e42be (patch)
treedfe99f56e2aef369724afafaeb616ac337a349cd
parentAdded --user and --email args parameters for spec-check (diff)
downloadgentoo-keys-78c83d8030ad8628887e2705bdc95b485a8e42be.tar.gz
gentoo-keys-78c83d8030ad8628887e2705bdc95b485a8e42be.tar.bz2
gentoo-keys-78c83d8030ad8628887e2705bdc95b485a8e42be.zip
Added a mail script that handles the emailing proccess
I created a new file called `mail.py` that handles the email login and the email sending.
-rw-r--r--gkeys/gkeys/mail.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/gkeys/gkeys/mail.py b/gkeys/gkeys/mail.py
new file mode 100644
index 0000000..df86d11
--- /dev/null
+++ b/gkeys/gkeys/mail.py
@@ -0,0 +1,51 @@
+from __future__ import print_function
+
+import os
+import smtplib
+import sys
+import email.utils
+
+from email.mime.text import MIMEText
+from snakeoil.demandload import demandload
+
+if sys.version_info[0] >= 3:
+ py_input = input
+ _unicode = str
+else:
+ py_input = raw_input
+ _unicode = unicode
+
+demandload(
+ "gkeys.base:Args",
+ "json:load",
+)
+
+class Emailer(object):
+ '''Send an email reminder about the status of the user's GPG key'''
+
+ def __init__(self, login, logger):
+ self.logger = logger
+ self.email_from = _unicode(login['login_email'])
+ self.sender_full_name = _unicode(login['full_name'])
+ login_passwd = login['passwd']
+ server = login['server']
+ self.mail = smtplib.SMTP(server, 587)
+ self.mail.ehlo()
+ self.mail.starttls()
+ self.mail.login(self.email_from, login_passwd)
+ self.logger.debug(_unicode("Login successfull"))
+
+ def send_email(self, uid, message):
+ self.logger.debug(_unicode('Sending email with message %s') % _unicode(message))
+ subject = "Expiring Key"
+ email_to = uid
+ msg = MIMEText(message, 'plain')
+ msg['Subject'] = subject
+ msg['From'] = email.utils.formataddr((self.sender_full_name, self.email_from))
+ msg['To'] = email_to
+ self.logger.info(_unicode('Sending the email reminder from %s to %s') \
+ % (self.email_from, email_to))
+ self.mail.sendmail(self.email_from, email_to, msg.as_string())
+
+ def email_quit(self):
+ self.mail.quit()