def receive(self, message): # Added support for email aliases return_path = message.original.get('Return-Path') if return_path: canonical_from_address = return_path else: canonical_from_address = message.sender user = user_from_email( email.utils.parseaddr(canonical_from_address)[1]) for content_type, body in message.bodies('text/plain'): # http://stackoverflow.com/questions/4021392/how-do-you-decode-a-binary-encoded-mail-message-in-python if body.encoding == '8bit': body.encoding = '7bit' content = body.decode() sig_pattern = re.compile(r'^\-\-\s*$', re.MULTILINE) split_email = re.split(sig_pattern, content) content = split_email[0] reply_pattern = re.compile(r'^On.*at.*Snippets', re.MULTILINE) split_email = re.split(reply_pattern, content) content = split_email[0] create_or_replace_snippet(user, content, date_for_new_snippet())
def get(self): all_users = User.all().filter("send_reminder =", True).fetch(500) for user in all_users: if not snippet_exists(user, date_for_new_snippet()): logging.info('reminding: '+ user.email) taskqueue.add(url='/onereminder', params={'email': user.email}) else: logging.info('skipping: '+user.email)
def receive(self, message): user = user_from_email(email.utils.parseaddr(message.sender)[1]) for content_type, body in message.bodies('text/plain'): # http://stackoverflow.com/questions/4021392/how-do-you-decode-a-binary-encoded-mail-message-in-python if body.encoding == '8bit': body.encoding = '7bit' content = body.decode() sig_pattern = re.compile(r'^\-\-\s*$', re.MULTILINE) split_email = re.split(sig_pattern, content) content = split_email[0] reply_pattern = re.compile(r'^On.*at.*snippets', re.MULTILINE) split_email = re.split(reply_pattern, content) content = split_email[0] create_or_replace_snippet(user, content, date_for_new_snippet())
def receive(self, message): # todo: check it came to the right place? addressed_to = message.to.split(",") user = user_from_email(email.utils.parseaddr(message.sender)[1]) for content_type, body in message.bodies('text/plain'): # http://stackoverflow.com/questions/4021392/how-do-you-decode-a-binary-encoded-mail-message-in-python if body.encoding == '8bit': body.encoding = '7bit' content = body.decode() sig_pattern = re.compile(r'^\-\-\s*$', re.MULTILINE) split_email = re.split(sig_pattern, content) content = split_email[0] output = [] for line in content.splitlines(True): if not (line.startswith(">") or config.email in line): output.append(line) content = "".join(output) if content.strip(): create_or_replace_snippet(user, content, date_for_new_snippet(), datetime.datetime.now(London_tzinfo()))
def receive(self, message): # Added support for email aliases return_path = message.original.get('Return-Path') if return_path: canonical_from_address=return_path else: canonical_from_address=message.sender user = user_from_email(email.utils.parseaddr(canonical_from_address)[1]) for content_type, body in message.bodies('text/plain'): # http://stackoverflow.com/questions/4021392/how-do-you-decode-a-binary-encoded-mail-message-in-python if body.encoding == '8bit': body.encoding = '7bit' content = body.decode() sig_pattern = re.compile(r'^\-\-\s*$', re.MULTILINE) split_email = re.split(sig_pattern, content) content = split_email[0] reply_pattern = re.compile(r'^On.*at.*Snippets', re.MULTILINE) split_email = re.split(reply_pattern, content) content = split_email[0] create_or_replace_snippet(user, content, date_for_new_snippet())