You have chosen to sponsor your bid up to a maximum amount of .
The purpose of this project is to transfer files between different sites using email. The purpose is the same as using ftp, except using the email network to provide the connection.
The project requires a command line program that will send and receive files using email protocol.
The program must be able to connect to gmail, qq (chinese email provider), hotmail as a minimum requirement.
The program name will be emailtransfer. It will use a config file and parameters to control the program behavior. The config file will contain a list of all allowed email addresses from where files can be accepted. Any emails coming from addresses not in this list will be ignored.
program command will be as follows:
/host smtp server name
/port smtp port
/user user name to log into email host
/pass password to log into email host
/to email address to send file to.
/cc email list for carbon copies
/from our email address
/file file to send if /file is not supplied, the program will check for files to download from the email host
/size maximum email size. If file exceeds this size, the program must break the file into multiple emails and merge them again when they are received.
/dir directory to store the file in the remote computer. If /dir is not supplied or the directory does not exist in the remote computer the file will be stored in location specified by the /dir directory when the program is called.
The email sent must have the correct email format in order to be accepted by email servers and email readers.
the file must be encoded in such a way that it can be downloaded using an email reader.
The subject and email body can be used for signaling between the sender and receiver but must be done in such a way that email filters will not consider the email as spam. Signaling will include information about large files sent in multiple emails.
When an email file is successfully downloaded, it must be deleted from the inbox, emails successfully sent must be deleted from the outbox. This must be done in order to ensure mailbox does not fill up. Deleting of sent emails can be done when the program is run again.