Application de messagerie électronique avec JAVA
Application de messagerie électronique avec JAVA
Objectif :
Le système de programme de messagerie consiste à simuler le système de messagerie existant. Son but est d'envoyer et de recevoir des courriers électroniques (courriels). Ce projet est développé en utilisant JAVA et quelques API de Java. Outre JAVA et son API, des réseaux et des sockets tels que POP3 et SMTP sont utilisés.
Système existant
Le système existant a deux serveurs de messagerie, l’un du côté de l’expéditeur et l’autre du côté du destinataire. Le périphérique de l’expéditeur est connecté au serveur côté expéditeur, qui collecte le courrier de l’expéditeur, le traite et le transmet au serveur côté destinataire. Le serveur destinataire traite les e-mails reçus, les trie et les envoie au périphérique récepteur. Les services de messagerie tels que Yahoo, Gmail et Hotmail utilisent le port HTTP 80 pour la communication, ce qui ne convient pas pour le partage de messages confidentiels car les messages peuvent être facilement piratés.
Système proposé
Le système proposé utilise le codage JAVA pour envoyer les courriers. Il transmet le courrier en toute sécurité entre l'expéditeur et le destinataire. Le coût de la conception du système est trop faible par rapport aux services de messagerie classiques. Globalement, le système de programme de courrier électronique est rentable et ne compromet pas la sécurité.
Modules
- Module serveur
- module client
- Module de messagerie
Description du module
- Module serveur: il accepte la connexion de différents clients à l'aide de la classe de socket serveur. Tous les détails concernant la connexion client, tels que l'établissement, l'envoi, la réception et la fin de la connexion, sont stockés dans le serveur. Server est conçu de manière à être fiable, disponible et accessible à tous les clients authentifiés du réseau.
- Module client: lorsque le serveur est actif, le client peut se connecter au serveur et chaque client peut envoyer ou recevoir des courriers ou partager des pièces jointes avec d'autres clients. Le nom d’utilisateur et les mots de passe du client sont stockés dans des fichiers de données. La communication entre les clients est facilitée via un serveur.
- Module Boîte de réception par courrier électronique: Ce module traite toutes les fonctions liées au courrier, telles que le transfert, la visualisation des pièces jointes, la sauvegarde des pièces jointes.
Logiciels requis
- Logiciels: Java SDK 2, Borland Net-Beans 6.0
- Système d'exploitation: Windows XP ou supérieur / Linux
Exigences matérielles
- Nombre de systèmes: 2 - Client et serveur (minimum)
- Processeur: Pentium 4 ou équivalent ou supérieur
- Réseau: réseau filaire / sans fil standard avec le mode Ad-hoc ou Infrastructure
- RAM: 512 Mo minimum
- Disque dur: 40 Go minimum
Aperçu du code :
…
import java.io.*;
import java.lang.*;
import java.util.*;
public class WMail
{
public static void main(String args[])throws IOException
{
InputStreamReader I=new InputStreamReader(System.in);
BufferedReader B=new BufferedReader(I);
System.out.print("Enter function (SignUp, Login, Compose): ");
String ch=B.readLine();
if(ch.equals("signup"))
{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print(" [email protected] : ");
java.lang.String User=input.readLine();
System.out.print("Password: ");
java.lang.String Pass=input.readLine();
System.out.println("New ID created successfully!");
FileWriter fout=new FileWriter(User+"@wmail.com");
BufferedWriter bout=new BufferedWriter(fout);
PrintWriter pout=new PrintWriter(bout);
pout.println(Pass);
FileWriter fot=new FileWriter(User);
BufferedWriter bot=new BufferedWriter(fot);
PrintWriter pot=new PrintWriter(bot);
pout.close();
bout.close();
pout.close();
}
else
if(ch.equals("login"))
{
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
System.out.print("Username: ");
java.lang.String User=input.readLine();
System.out.print("Password: ");
java.lang.String Pass=input.readLine();
FileReader fout=new FileReader(User+"@wmail.com");
BufferedReader bout=new BufferedReader(fout);
java.lang.String data=bout.readLine();
if(Pass.equals(data))
{
System.out.println("Logged On!");
System.out.print("Do you want to go to the inbox: (yes/no)");
java.lang.String Ask=input.readLine();
if(Ask.equals("yes"))
{
FileReader f=new FileReader(User);
BufferedReader b=new BufferedReader(f);
System.out.println("");
java.lang.String Composed;
int i=0;
while((Composed=b.readLine())!=null)
{
i++;
System.out.println(Composed);
}
System.out.println("");
b.close();
bout.close();
}
}
else
{
System.out.println("Wrong password!");
}
}
else
if(ch.equals("compose"))
{