def post(self): '''email address has been entered validate and send the confirmation mail''' to_address_1 = self.request.get('to_1') to_address_2 = self.request.get('to_2') if not to_address_1 == to_address_2: self.redirect('/abo/subscribe?error=mails') else: key = str(uuid().int) logging.error('%s' % key) confirmation_link = '%s/abo/confirm/%s' % (conf.host, key) mail_content = render('subscribe_mail.txt', {'link':confirmation_link, 'host':conf.host, 'sender_mail':conf.mail_from_address, 'sender_name':conf.mail_from_name } ) query = Subscription.all().filter('email =', to_address_1) if query.count(): # email has been submitted before prev_mail = query.get() if prev_mail.active: logging.debug('Repeat subscription: %s' % prev_mail.email) self.redirect('/abo/success') else: logging.debug('New subscription key for %s' % prev_mail.email) prev_mail.delete() subscription = Subscription(email=to_address_1, validation_key=key, active=False) subscription.put() logging.info('New subscription: %s' % subscription.email) logging.debug('Sending confirmation mail to %s' % to_address_1) mail.send_mail( sender='%s (Photoblog) <%s>' % (conf.mail_from_name, conf.mail_from_address ), to=to_address_1, subject=conf.mail_confirmation_subject, body = mail_content ) self.redirect('/abo/success')