Professional Documents
Culture Documents
ABSTRACT
2. INTRODUCTION
3. ABOUT ORGANISATION
4. SRS DOCUMENT
6. DESIGN DOCUMENT
9. TESTING
11. CONCLUSION
12. BIBLIOGRAPHY
Abstract:
A Filter is the core of the decision making in Privacy-Aware Collaborative
Spam Filtering document. A filter decides on a per-mail basis whether the
message should be downloaded or not. A pipeline of filters is setup (yes,
again setup in the configuration) and a message, which needs to be
downloaded, is passed through this pipeline. At any point of the pipeline, a
filter could indicate that the message should not be processed through the
pipeline anymore. For example a filter (sender based) could find a match
from the list of spammers it has and reject the message.
There are two kinds of filters -- global and local. These are not an attribute of
a filter itself, but rather depend on the usage of a filter. Local filters are
associated to a maildrop whereas global filters are applicable to all maildrops.
For example, you might want a Message-ID filter to be applicable to all
maildrops whereas keep a sender-based filter only for the maildrop where
you expect mail from that sender.
A filter has the single job of deciding whether or not to download a single
message. The actual decision of whether to download a mail or not is made
through a sequence of filters. There can be a global set of filters as well as
per maildrop one. A maildrop represents your mailbox from which you want
to download your mail.
In this project we define totally six filters. But we can define more than that
number of filters as our requirements. In this project our focus is on main
and basic filters like HeaderMailFilter, MessageIDMailFilter, NullFilter,
ReceipientMailFilter, SenderMailFilter, SizeMailFilter and SubjectMailFilter.
A project titled, “Privacy-Aware Collaborative Spam Filtering
document” is proposed to be developed with WINDOWS-2000 Server as the
operating system and Java Mail API of J2EE Technologies. This package will
have provision for creating your own filters and using those generated filters
in appropriate places.
System Analysis:
Existing System:
The existing system is not computerized. All the mails were being done
manually. To make this laborious job simple it is to be computerized.
Proposed System:
The first step of analysis process involves the identification of need. The
success of a system depends largely on how accurately a problem is defined,
thoroughly investigated and properly carried out through the choice of
solution.
Company Profile:
Global Interactive Solutions has emerged to be a world-class solutions and
products organization with clientele spread across geographies. It has time-
and-again taken up challenges for accomplishing the mission of customer
satisfaction armored with a focused vision and technical expertise.
Our growth and success has evolved from our ability to foresee customer
challenges and address them with apt solutions. Our teams, comprising of
research innovators, architects and developers have constantly worked on
developing products, solutions and mission-critical applications.
We started with Visual SHIFT, our initial product that addressed the Y2K
problem. It received global acclamation and was awarded "Product of the
Year" by Datamation under Y2K product category. Gartner Group, the
research and consulting organization, rated Visual SHIFT as "Best in Class".
It also won the accolades of being the "Best Product" from HYSEA
(Hyderabad Software Exporters Association).
People, experience and skill sets are the ultimate competitive differentiators
when it comes to finalizing a Strategic Offshore Outsourcing deal. Global
Interactive Solutions is an IT services company that adapts solutions to the
market requirements. Its people are well qualified and experienced in the
technology platforms they work. Personnel are trained and retrained, that
make them as masters in the chosen area.
When ever you run these filters they simply apply the
logic we have written it already in a java file on every mail in
a all mailboxes or specified mailboxes. Based on this logic
decides whether to down load the mail or not. This
functionality automates the function of deleting the mails.
2. Function Requirements
2.1 Inputs:
2.2 Outputs:
4. Performance Requirements
5. Design constraints
Before accepting the system, the developer must demonstrate that the
system works on the details of the user email-ids entered in the
corresponding files. The developer will have to show through test cases that
all conditions are satisfied.
+----------+ +----------+
+------+ | | | |
| User |<-->| | SMTP | |
+------+ | Sender- |Commands/Replies| Receiver-|
+------+ | SMTP |<-------------->| SMTP
| +------+
| File |<-->| | and Mail |
|<-->| File |
|System| | | |
| |System|
+------+ +----------+ +----------
+ +------+
Sender-SMTP Receiver-SMTP
Figure 1
-------------------------------------------------------
The SMTP provides mechanisms for the transmission of mail;
directly from the sending user's host to the receiving user's host when
the August 1982 Simple Mail Transfer Protocol two host are connected
to the same transport service, or via one or more relay SMTP-servers
when the source and destination hosts are not connected to the same
transport service.
3.1 MAIL
DATA <CRLF>
Please note that the mail data includes the memo header
items such as Date, Subject, To, Cc, from [2].The end of mail
data indicator also confirms the mail transaction and tells the
receiver-
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF>
S: Blah blah blah...
S: ...etc. etc. etc.
S: <CRLF>.<CRLF>
R: 250 OK
The mail has now been accepted for Jones and Brown.
Green did not have a mailbox at host Beta in Example 1.
3.2. FORWARDING
The VRFY and EXPN commands are not included in the minimum
implementation (Section 4.5.1), and are not required to work across
relays when they are implemented.
3.4. SENDING AND MAILING
The Send and Mail command requires that the mail data be
delivered to the user's terminal if the user is active (and accepting
terminal messages) on the host. In any case the mail data is entered
into the user's mailbox. The mail transaction is successful if the
message is delivered the mailbox. The same reply codes that are used
for the MAIL commands are used for these commands.
INTRODUCTION:
ARCHITECTURE
This section defines the syntax and lists the order in which a client
application calls some JavaMail methods in order to access and open a
message located in a folder:
Design Objectives
Function specification
Desi
Behavioral specification gn
Test
Features:
Modules:
Core Module: This module helps in interacting with the XML and
reads the required information. After the reading the information
it can interact with the specified mail boxes as you require and
download the mails. It also co-ordinates other modules.
You will need to specify the name of the class you have
implemented in the configuration, so that Privacy-Aware Collaborative
Spam Filtering document can initialize it as required. Note that the
class has to be in the system classpath. This can be easily achieved by
putting the class in a jar and putting it in the lib directory. The script
picks up all the jars from the directory and places them in the
classpath before invoking Privacy-Aware Collaborative Spam Filtering
document. All the delivery agents specified in the configuration are
available to the filters through a Privacy-Aware Collaborative Spam
Filtering document. delivery. DeliveryManager object. This object
allows access to these agents based on their ids. NOTE that the id of
the agent has to known by the filter requesting for the agent. A
Delivery Event is generated when a message is delivered after passing
through all the filters. NOTE that there is no event generated when a
filter itself delivers a message through an agent. The easiest way to
get a hang of how to implement the filter of your choice is to get a
hold of the source and checkout some of the implemented filters (like
NullMailFilter!!)
Table of Contents
===========
1. Introduction
2. Some Definitions
2.1 Maildrops
2.2 Filters
2.3 DeliveryAgents
2.4 Events
3. Detailed Configuration
3.1 Maildrop
3.2 Mailfilters
3.2.1 Global filters
3.2.2 Local filters
3.2.3 All filters explained
3.3 Delivery Agents
3.4 Miscellaneous Configuration
4. Sample configuration file
5. Advanced usage
1. Introduction:
2. Some Definitions:
2.1 Maildrops
2.2 Filters
There are two kinds of filters -- global and local. These are not
an attribute of a filter itself, but rather depend on the usage of a filter.
Local filters are associated to a maildrop whereas global filters are
applicable to all maildrops. For example, you might want a Message-ID
filter to be applicable to all maildrops whereas keep a sender-based
filter only for the maildrop where you expect mail from that sender.
2.3 DeliveryAgents
2.4 Events
Event is an internal concept of Privacy-Aware Collaborative
Spam Filtering document. If you are only going to use Privacy-Aware
Collaborative Spam Filtering document and the filters it provides out of
the box, you don't need to understand this concept. If you are
extending Privacy-Aware Collaborative Spam Filtering document by
developing your own Filters, you will need to understand this concept.
Whether you actually use it, depends on the Privacy-Aware
Collaborative Spam Filtering document functionality itself.
3. Detailed Configuration:
3.1 Maildrop
You can have more than one maildrops for Privacy-Aware Collaborative
Spam Filtering document to download mail from. Privacy-Aware
Collaborative Spam Filtering document downloads mail for them in the
order in which they are configured.
Here is a sample maildrop configuration:
The mda attribute specifies the default delivery agent when the
message is ready to be downloaded. See Delivery Agents for more
information. This requires a delivery agent called "smtp" to be
configured.
Host, port, user and password are attributes for the connection
and authentication. Setting delete to true makes delete messages from
the maildrop once they are downloaded.
3.2 Mailfilters:
</filters>
<filter class="MailFetch.filters.MessageIDMailFilter"
delete="true">
<storage name="msgid.cache" limit="8192"
destination="spool/msgid.cache"/>
</filter>
<filter class="MailFetch.filters.RecipientMailFilter"
delete="true"
blocklist="/home/gautam/MailFetch/spool/pers"
mda="personal">
</filter>
<mda class="MailFetch.delivery.MailboxDeliveryAgent"
id="junk">
<destination>/home/gautam/Mail/junkmail</destination>
</mda>
Polling: Polling time is the time Mail Fetch waits between mail
downloading sessions. For example
<poll>120</poll>
</MailFetch>
The above section is just a sample configuration file. You will need
to customize your configuration depending on what kind of filtering
meets your requirements.
5. Advanced usage
In case you find that you need some customized filtering, you may
want to write your own Filters. The easiest way to understand how
to do this is to look at the filters which are available in the Privacy-
Aware Collaborative Spam Filtering document distribution. Good
filters to start with are NullMailFilter, SizeMailFilter, SubjectMailFilter
and MessageIDMailFilter. That should cover most common uses.
Once you have written your Filter, you need to include it in the filter
configuration. In addition, Privacy-Aware Collaborative Spam
Filtering document requires it to be in the system classpath to be
able to load it. It can simply be achieved by putting the relevant
classes in a jar and putting it in the lib directory. The run scripts
loadup all the jars in the classpath.
Configuration
If you have the source, compile using the build. bat batch file
* Now, enter the dist directory and edit the conf/JFetch.xml file.
This is the configuration file for Privacy-Aware Collaborative Spam
Filtering document. Refer to the Configuration.txt file in the docs
directory for a detailed description of the configuration file.
In this product inputs are nothing but messages i.e. mails. Every mail
has some properties like sender, subline, body, message-id and so on.
By taking these inputs automatically from the message, which are
inside the mailbox, we do the process to decide whether to drop the
message or not. The output design relays on input, which is used to
the output. Hence input design needs some special attention.
UML Diagrams
Screens
Testing
During the testing process the software is worked with some particular
test cases and the output of the test cases are analyzed whether the
software is working according to the expectations or not.
The Unit Testing is carried out on coding. Here different modules are
tested against the specifications produced during design for the
modules. In case of integration testing different tested modules are
combined into sub systems and tested in case of the system testing
the full software is tested and in the next level of testing the system is
tested with user requirement document prepared during SRS.
Each module was tested against required functionally and test cases
were developed to test the boundary values.
The system test cases mentioned below are expected to work and give
the expected behaviour if the explorer is configured to run jar files as
mentioned in the project folder. The necessary library files and
standard jar files are in the appropriate project directories and the path
and classpath environment variables are appropriately set.
After that your Local mail client creates a new accounts for you
specified mailboxes. Thus you can access those mail boxed from your
local mailclient and can organize those mailboxes as you like. A part
from this configuration your installed filters worked on all the
mailboxes you specified in above configuration file here names as
conf.xml .
Privacy-Aware Collaborative Spam Filtering document is a tool, lot of
efforts were put to make it filter perfectly and efficiently. The
developed system is tested with real data and the users are satisfied
with the performance of the system and reports.
This project is developed using JAVA MAIL API, one of the J2EE
technologies, with the help of XML language. By using this tool we can
drop the unwanted mails or messages automatically by specify our
restrictions in corresponding files. By this lot of work load will be
reduced to the administrator and also a copy of deleted message can
be directed to specified location which is for verifications. This tool is
very useful for administrating department our company It provides
extendibility also. So you can add your own filters in future very simply
without disturbing the existing code. This tool reduces the manual
work. Time as well as manpower saved. The time for processing and
producing reports is considerably reduced. All the features are
implemented and developed as per the requirements.
Basic Java Concepts : Thinking in JAVA
( Bruce Eckel )
Java Mail API : Wrox Publications Volume I and II
An Integrated Approach to
Software Engineering : Pankaj Jalote
Introduction to System
Analysis and Design : I.T.Hawryszkiewycz
For UML diagrams : UML in 24 Hours Book
Some preferred websites : www.bruceeckel.com
www.sun.com/j2ee/mailapi
www.sun.com/j2se