summaryrefslogtreecommitdiff
path: root/service/pixelated/application.py
diff options
context:
space:
mode:
authorGiovane <giovaneliberato@gmail.com>2015-10-27 16:52:35 -0200
committerGiovane <giovaneliberato@gmail.com>2015-10-27 16:52:35 -0200
commit41b462e9b29d62dc197be6d8a633c1b9a46688cf (patch)
treecbe13320a7fcb2094de57c8812cbf84a5aca63e0 /service/pixelated/application.py
parent2bdea2fbbb8cce55462cae554b85c8d275ccb0a1 (diff)
Moves welcome mail logic inside LeapSession
Diffstat (limited to 'service/pixelated/application.py')
-rw-r--r--service/pixelated/application.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/service/pixelated/application.py b/service/pixelated/application.py
index 082f45ee..bca4d5e5 100644
--- a/service/pixelated/application.py
+++ b/service/pixelated/application.py
@@ -14,12 +14,16 @@
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+import os
+
+from email import message_from_file
from twisted.internet import reactor
from twisted.internet import defer
from twisted.internet import ssl
from OpenSSL import SSL
from OpenSSL import crypto
+from pixelated.adapter.model.mail import InputMail
from pixelated.config import arguments
from pixelated.config.services import Services
from pixelated.config.leap import initialize_leap
@@ -39,6 +43,9 @@ def start_user_agent(root_resource, leap_home, leap_session):
services = Services(leap_home, leap_session)
yield services.setup(leap_home, leap_session)
+ if leap_session.fresh_account:
+ yield add_welcome_mail(leap_session.mail_store)
+
root_resource.initialize(
services.keymanager,
services.search_engine,
@@ -104,3 +111,13 @@ def start_site(config, resource):
interface=config.host)
else:
reactor.listenTCP(config.port, PixelatedSite(resource), interface=config.host)
+
+
+def add_welcome_mail(mail_store):
+ current_path = os.path.dirname(os.path.abspath(__file__))
+ welcome_mail = os.path.join(current_path, 'assets', 'welcome.mail')
+ with open(welcome_mail) as mail_template_file:
+ mail_template = message_from_file(mail_template_file)
+
+ input_mail = InputMail.from_python_mail(mail_template)
+ mail_store.add_mail('INBOX', input_mail.raw)