Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # encoding: utf-8
- """
- save_mails.py
- Created by Fabian Schächter on 2009-12-14.
- Copyright (c) 2009 . All rights reserved.
- """
- import os.path as path
- import poplib
- import email
- HOST = 'THE HOST'
- USERNAME = 'THE USERNAME'
- PASSWORD = 'THE PASSWORD'
- STORE = path.realpath(path.join(path.dirname(__file__), 'mails'))
- def get_messages(connection):
- """retrieves messages"""
- typ, data, datlen = connection.list()
- messages = []
- for message in data:
- message_id, message_oct = message.split(' ')
- response, lines, octet = connection.retr(message_id)
- messages.append(email.message_from_string("\r\n".join(lines)))
- return messages
- def get_connection():
- """creates a connection to a pop3server"""
- connection = poplib.POP3(HOST)
- connection.user(USERNAME)
- connection.pass_(PASSWORD)
- return connection
- def save_message(message):
- """saves a message to disk"""
- filename = '%s.eml' % message['Message-ID'].replace('<', '').replace('>', '')
- message_file = open(path.join(STORE, filename), 'w')
- message_file.write(str(message))
- message_file.close()
- print 'mail %s has been written to disk' % message['Message-ID']
- def main():
- """main"""
- connection = get_connection()
- messages = get_messages(connection)
- for message in messages:
- save_message(message)
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment