telegram-mailgate.py 916 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env python3
  2. import sys
  3. import argparse
  4. import email
  5. import requests
  6. if __name__ == '__main__':
  7. arg_parser = argparse.ArgumentParser()
  8. arg_parser.add_argument('--from')
  9. arg_parser.add_argument('--key')
  10. arg_parser.add_argument('--chatid')
  11. arg_parser.add_argument('--queue-id', default=0)
  12. arg_parser.add_argument('to', nargs='+')
  13. group = arg_parser.add_mutually_exclusive_group()
  14. group.add_argument('--raw', action='store_true')
  15. args = arg_parser.parse_args()
  16. raw_content = sys.stdin.read()
  17. if args.raw:
  18. content = raw_content
  19. else:
  20. mail = email.message_from_string(raw_content)
  21. content = mail.get_payload()
  22. if ((args.key is not None) and
  23. (args.chatid is not None)):
  24. content = content.replace("\n\n","\n")
  25. params = {'chat_id':args.chatid, 'text':content}
  26. requests.post('https://api.telegram.org/bot' + args.key + '/sendMessage', data=params)
  27. exit(0)