From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-918945-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 2DBE7139087
	for <garchives@archives.gentoo.org>; Fri, 23 Dec 2016 08:37:19 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 9E767E0DDA;
	Fri, 23 Dec 2016 08:37:17 +0000 (UTC)
Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 77000E0DD9
	for <gentoo-commits@lists.gentoo.org>; Fri, 23 Dec 2016 08:37:17 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id B820C341117
	for <gentoo-commits@lists.gentoo.org>; Fri, 23 Dec 2016 08:37:15 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id ABAA024E6
	for <gentoo-commits@lists.gentoo.org>; Fri, 23 Dec 2016 08:37:13 +0000 (UTC)
From: "Brian Dolbec" <dolsen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" <dolsen@gentoo.org>
Message-ID: <1472326970.8fea35a1e65ebab3e11245d88c58e08cb84c57a2.dolsen@gentoo>
Subject: [gentoo-commits] proj/gentoo-keys:gsoc-2016 commit in: gkeys/gkeys/
X-VCS-Repository: proj/gentoo-keys
X-VCS-Files: gkeys/gkeys/mail.py
X-VCS-Directories: gkeys/gkeys/
X-VCS-Committer: dolsen
X-VCS-Committer-Name: Brian Dolbec
X-VCS-Revision: 8fea35a1e65ebab3e11245d88c58e08cb84c57a2
X-VCS-Branch: gsoc-2016
Date: Fri, 23 Dec 2016 08:37:13 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: dd74ba94-0e01-4e2f-a980-9be7ae4807af
X-Archives-Hash: 7aebb003755fdf8188ea25009b7b2790

commit:     8fea35a1e65ebab3e11245d88c58e08cb84c57a2
Author:     aeroniero33 <justthisthing <AT> gmail <DOT> com>
AuthorDate: Sat Aug 27 14:07:07 2016 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Sat Aug 27 19:42:50 2016 +0000
URL:        https://gitweb.gentoo.org/proj/gentoo-keys.git/commit/?id=8fea35a1

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.

 gkeys/gkeys/mail.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

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