Guest User

Untitled

a guest
Mar 16th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. """
  4. save_mails.py
  5.  
  6. Created by Fabian Schächter on 2009-12-14.
  7. Copyright (c) 2009 . All rights reserved.
  8. """
  9.  
  10. import os.path as path
  11. import poplib
  12. import email
  13.  
  14.  
  15. HOST = 'THE HOST'
  16. USERNAME = 'THE USERNAME'
  17. PASSWORD = 'THE PASSWORD'
  18. STORE = path.realpath(path.join(path.dirname(__file__), 'mails'))
  19.  
  20.  
  21. def get_messages(connection):
  22. """retrieves messages"""
  23. typ, data, datlen = connection.list()
  24. messages = []
  25. for message in data:
  26. message_id, message_oct = message.split(' ')
  27. response, lines, octet = connection.retr(message_id)
  28. messages.append(email.message_from_string("\r\n".join(lines)))
  29. return messages
  30.  
  31.  
  32. def get_connection():
  33. """creates a connection to a pop3server"""
  34. connection = poplib.POP3(HOST)
  35. connection.user(USERNAME)
  36. connection.pass_(PASSWORD)
  37. return connection
  38.  
  39.  
  40. def save_message(message):
  41. """saves a message to disk"""
  42. filename = '%s.eml' % message['Message-ID'].replace('<', '').replace('>', '')
  43. message_file = open(path.join(STORE, filename), 'w')
  44. message_file.write(str(message))
  45. message_file.close()
  46. print 'mail %s has been written to disk' % message['Message-ID']
  47.  
  48.  
  49. def main():
  50. """main"""
  51. connection = get_connection()
  52. messages = get_messages(connection)
  53. for message in messages:
  54. save_message(message)
  55.  
  56.  
  57. if __name__ == '__main__':
  58. main()
Add Comment
Please, Sign In to add comment