Buyer’s current business process logs all email messages received by his firm in an email database, where they are stored in raw form as message header and message body strings. The database has grown quite large and needs to be reduced in size (“compacted??) by stripping out unneeded data from both the header and body sections of email database records. The Buyer needs this capability implemented as a .Net-compatible WebService function that extracts and returns useful information from the header, and plain-text only information from the body. Extraneous body information such as HTML tags and other formatting information, vCards, graphics, MIME-encoded binary files, and so on, must be discarded, and only a single “Content-Type: text/plain?? body section returned, regardless of the number of parts in the raw message. The Coder is free to determine the best method of meeting this need for various types of header and body data. The compaction WebService must be able to run locally on the Buyer’s system, or be accessible by an HTTP reference on the Web. The service must be capable of authenticating a request (i.e., determining the requiest is from a valid user), based on an authentication string passed to it.
Buyer requires development and delivery of both (1) the compaction WebService and (2) a driver-tester utility program suitable for verifying performance of the WebService. The WebService will accept two strings, the authentication string, and the raw email (header and body) in standard email format; authenticate the request; and return a completion code and the compacted email message string (header and body). If authentication fails, or the service fails to complete for some other reason, the service shall return the reason in the completion code, and a null string for the compacted email message. Otherwise the service shall return a completion code indicating success, and the compacted email string. The driver-tester utility shall be a stand-alone program capable of determining the compaction service location (URL), then reading multiple authentication, raw email strings from an input text file, passing them to the WebService, accepting responses from the WebService, and writing results to a text output file.
- **Message Compaction WebService**: A fully functional compaction WebService, installed by the Seller and running on the Buyer’s system, that performs the message compaction operation.
- **Message Compaction Driver-Tester**: A fully functional service verification utility, installed by the Seller and running on the Buyer’s system, capable of driving and testing the compaction service.
*- Design descriptions showing data and control flow within the message compaction WebService and the driver-tester utility.
- Algorithms and rationale for authentication and extraction of data returned by the WebService from header and body sections.
- All standards (e.g., RFC822, RFC2045, etc.) referenced or complied with.
- A complete interface and usage guide for the compaction WebService, showing invocation and result processing and values for all return codes.
- A user’s guide for the driver-tester utility.
- Commented source code for both the WebService and the utility.
- A Visual Studio project (.csproj file) and complete information (libraries, etc.) for building executables of the WebService and the utility.
***All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete rights to all work purchased. No third-party code (e.g., GPL, GNU, or commercial components except as noted below) shall be used unless Buyer accepts licensing and rights conditions per the Coder's Seller Legal Agreement.
- .Net Framework compatible
- Windows 2000/XP compatible
- Written in C#
- Commercial components aspNetEmail, aspNetMime, or aspNetPOP3 from Advanced Intellect may be used if desired. No other commercial components will be accepted.