This project will implement a form for inter-user email for a community website. The website maintains a database of users. The form will allow users to communicate with each other, without displaying the email address, of the recipient. The script will generate an email without storage, and do basic validation and anti-spam checks on the form. The website uses Java / Struts 1, and has multi-lingual support.
## Deliverables
This project will implement a form for an inter-user email module for a community website. The website maintains a database of users. In order to allow users to communicate with each other a button on a user's profile will allow others to send him/her email, without revealing the email address. SCRIPT OPERATION ---------------- - Clicking on the button would popup an AJAX form with fields for a) subject, b) text, and c) captcha security code - Submitting the form will generate an email to recipient (To:) with subject and body as specified in the form. - This button and script will be placed in two locations on the website, so must function independently. - Emails sent will not be stored in the DB. - The form must have I18N / multilingual support based on current framework. FORM PROCESSING --------------- The form processing script will do at least the following checks: - Standard checks (e.g. no rich text or scripts in submitted subject/text) - Email format validation - Captcha security code check, to prevent spambots - Limiting number of emails generated per user per day EMAIL GENERATION ---------------- The email generated should conform to standard anti-spam guidelines. This includes: -- Limiting number of emails generated per user -- Setting the correct From: To: Reply-To fields -- Filtering for capital letters, size, etc. For some guidelines, see the links below: [login to view URL] [login to view URL] [login to view URL] [login to view URL]
## Platform
Preferrable use jquery for all AJAX work. The website is currently programmed in Java / Struts 1, with a hibernate interface to mysql. Scripts would have to be delivered on this platform. You will be provided with a user table and its hibernate definition. You will need to create an action that can be called via AJAX to the Struts framework, that will open up the email dialog button on the click of a button And another action that to the Struts framework that will send the email to the user after proper validation checks.