- /**************************************************************
- * Applet pour l'envoi de mail à un destinataire unique
- * s'intègre dans une page html
- *
- * Nom programme: CommunicationMail
- * Version: 1.0
- * Auteur: Gaëlle P.
- * E-mail: me_gaelle@yahoo.fr
- * Date: 13/05/2002
- *
- */
-
- import java.awt.*;
- import java.applet.*;
- import java.net.*;
- import java.util.*;
- import java.net.URL;
- import java.awt.event.*;
- import java.io.*;
- import java.lang.*;
- import java.security.*;
-
-
- public class CommunicationMail extends Applet
- {
- Button boutonEnvoyer;
- Button boutonAnnuler;
- TextArea zoneMessage;
- TextField zoneSujet;
- TextField zoneExpediteur;
- Panel panneau1, panneau2, panneau3, panneau4;
- URL url;
- String expediteur;
- String sujet;
- String message;
- String serveurMail = "smtp.serveur.fr"; //Le serveur SMTP sur lequel on a des autorisations
- String date;
- Socket socket;
- int port = 25; //Port standard pour SMTP
- PrintWriter fluxSortie;
-
-
- public void init()
- {
-
- //Definition des panneaux
- panneau1 = new Panel();
- panneau2 = new Panel();
- panneau3 = new Panel();
- panneau4 = new Panel();
-
-
- //Definition des zones Sujet et expéditeur (TextField)
- zoneExpediteur = new TextField(25);
- zoneSujet = new TextField(25);
-
- //Definition de la zone message (TextArea)
- zoneMessage = new TextArea();
-
- //Definition des boutons
- boutonEnvoyer = new Button("Envoyer");
- boutonAnnuler = new Button("Annuler");
-
- //Définition des actions des boutons
- boutonEnvoyer.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- Envoyer();
- }
- });
-
- boutonAnnuler.addActionListener(
- new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
- {
- Annuler();
- }
- });
-
- //Ajout de la zoneExpediteur au panneau1
- panneau1.add(zoneExpediteur);
- add("South", panneau1);
-
- //Ajout de la zoneSujet au panneau2
- panneau2.add(zoneSujet);
- add("South", panneau2);
-
- //Ajout de la zoneMessage au panneau3
- panneau3.add(zoneMessage);
- add("South", panneau3);
-
- //Ajout des boutons au panneau4
- panneau4.add(boutonEnvoyer);
- panneau4.add(boutonAnnuler);
- add("South", panneau4);
-
-
- }
-
-
- void Envoyer()
- {
- PrintWriter to;
- BufferedReader from;
-
- expediteur = zoneExpediteur.getText();
- sujet = zoneSujet.getText();
- message = zoneMessage.getText();
-
- try
- {
-
- //Ouverture d'une connexion sur le port 25 du serveur
- socket = new Socket(serveurMail, port);
-
- //Récupération du flux de sortie vers le serveur
- fluxSortie = new PrintWriter(new
- OutputStreamWriter(socket.getOutputStream()),true);
-
- //Envoi de la requête précisant le compte d'envoi
- fluxSortie.println("USER "+"moncompte"+"\r");
-
- //Envoi de la requête précisant le mot de passe du compte
- fluxSortie.println("PASS "+"motdepasse"+"\r");
-
- //Envoi de la requête précisant l'expéditeur
- fluxSortie.println("mail from: "+expediteur);
-
- //Envoi de la requête précisant le destinataire
- fluxSortie.println("rcpt to: destinataire@serveur.com");
-
- //Envoi de la requête précisant l'envoi du message
- fluxSortie.println("data");
-
- //Envoi du message
- date = (new Date()).toString();
- fluxSortie.println(date + sujet +"\n"+ message);
-
- //Terminaison du message
- fluxSortie.println(".");
-
- //Envoi de la requête de terminaison de session SMTP
- fluxSortie.println("QUIT");
- }
- catch(NullPointerException e){}
- catch(AccessControlException e)
- {
- Annuler();
- zoneMessage.append("***** ERREUR **** ERREUR ****\n");
- zoneMessage.append("Connexion impossible: accès refusé !");
- System.exit(1);
- }
- catch(UnknownHostException e)
- {
- Annuler();
- zoneMessage.append("***** ERREUR **** ERREUR ****\n");
- zoneMessage.append("Hôte inconnu: connexion impossible !");
- System.exit(1);
- }
- catch(IOException e)
- {
- Annuler();
- zoneMessage.append("***** ERREUR **** ERREUR ****\n");
- zoneMessage.append("Pas d'E/S pour la connexion avec l'hôte !");
- System.exit(1);
- }
- catch(Exception e){}
- finally
- {
- try
- {
- fluxSortie.close();
- socket.close();
- }
- catch(IOException e){}
- catch(NullPointerException e){}
- }
-
- }
-
- public void Annuler()
- {
- zoneMessage.setText("");
- zoneExpediteur.setText("");
- zoneSujet.setText("");
- }
-
-
- public void paint(Graphics g)
- {
- g.drawString("Expéditeur", 35, 30);
- g.drawString("Sujet", 35, 60);
- panneau1.setLocation(105, 10);
- panneau2.setLocation(105,40);
- panneau3.setLocation(25, 80);
- panneau4.setLocation(30, 255);
-
- }
-
- }
-
/**************************************************************
* Applet pour l'envoi de mail à un destinataire unique
* s'intègre dans une page html
*
* Nom programme: CommunicationMail
* Version: 1.0
* Auteur: Gaëlle P.
* E-mail: me_gaelle@yahoo.fr
* Date: 13/05/2002
*
*/
import java.awt.*;
import java.applet.*;
import java.net.*;
import java.util.*;
import java.net.URL;
import java.awt.event.*;
import java.io.*;
import java.lang.*;
import java.security.*;
public class CommunicationMail extends Applet
{
Button boutonEnvoyer;
Button boutonAnnuler;
TextArea zoneMessage;
TextField zoneSujet;
TextField zoneExpediteur;
Panel panneau1, panneau2, panneau3, panneau4;
URL url;
String expediteur;
String sujet;
String message;
String serveurMail = "smtp.serveur.fr"; //Le serveur SMTP sur lequel on a des autorisations
String date;
Socket socket;
int port = 25; //Port standard pour SMTP
PrintWriter fluxSortie;
public void init()
{
//Definition des panneaux
panneau1 = new Panel();
panneau2 = new Panel();
panneau3 = new Panel();
panneau4 = new Panel();
//Definition des zones Sujet et expéditeur (TextField)
zoneExpediteur = new TextField(25);
zoneSujet = new TextField(25);
//Definition de la zone message (TextArea)
zoneMessage = new TextArea();
//Definition des boutons
boutonEnvoyer = new Button("Envoyer");
boutonAnnuler = new Button("Annuler");
//Définition des actions des boutons
boutonEnvoyer.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Envoyer();
}
});
boutonAnnuler.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Annuler();
}
});
//Ajout de la zoneExpediteur au panneau1
panneau1.add(zoneExpediteur);
add("South", panneau1);
//Ajout de la zoneSujet au panneau2
panneau2.add(zoneSujet);
add("South", panneau2);
//Ajout de la zoneMessage au panneau3
panneau3.add(zoneMessage);
add("South", panneau3);
//Ajout des boutons au panneau4
panneau4.add(boutonEnvoyer);
panneau4.add(boutonAnnuler);
add("South", panneau4);
}
void Envoyer()
{
PrintWriter to;
BufferedReader from;
expediteur = zoneExpediteur.getText();
sujet = zoneSujet.getText();
message = zoneMessage.getText();
try
{
//Ouverture d'une connexion sur le port 25 du serveur
socket = new Socket(serveurMail, port);
//Récupération du flux de sortie vers le serveur
fluxSortie = new PrintWriter(new
OutputStreamWriter(socket.getOutputStream()),true);
//Envoi de la requête précisant le compte d'envoi
fluxSortie.println("USER "+"moncompte"+"\r");
//Envoi de la requête précisant le mot de passe du compte
fluxSortie.println("PASS "+"motdepasse"+"\r");
//Envoi de la requête précisant l'expéditeur
fluxSortie.println("mail from: "+expediteur);
//Envoi de la requête précisant le destinataire
fluxSortie.println("rcpt to: destinataire@serveur.com");
//Envoi de la requête précisant l'envoi du message
fluxSortie.println("data");
//Envoi du message
date = (new Date()).toString();
fluxSortie.println(date + sujet +"\n"+ message);
//Terminaison du message
fluxSortie.println(".");
//Envoi de la requête de terminaison de session SMTP
fluxSortie.println("QUIT");
}
catch(NullPointerException e){}
catch(AccessControlException e)
{
Annuler();
zoneMessage.append("***** ERREUR **** ERREUR ****\n");
zoneMessage.append("Connexion impossible: accès refusé !");
System.exit(1);
}
catch(UnknownHostException e)
{
Annuler();
zoneMessage.append("***** ERREUR **** ERREUR ****\n");
zoneMessage.append("Hôte inconnu: connexion impossible !");
System.exit(1);
}
catch(IOException e)
{
Annuler();
zoneMessage.append("***** ERREUR **** ERREUR ****\n");
zoneMessage.append("Pas d'E/S pour la connexion avec l'hôte !");
System.exit(1);
}
catch(Exception e){}
finally
{
try
{
fluxSortie.close();
socket.close();
}
catch(IOException e){}
catch(NullPointerException e){}
}
}
public void Annuler()
{
zoneMessage.setText("");
zoneExpediteur.setText("");
zoneSujet.setText("");
}
public void paint(Graphics g)
{
g.drawString("Expéditeur", 35, 30);
g.drawString("Sujet", 35, 60);
panneau1.setLocation(105, 10);
panneau2.setLocation(105,40);
panneau3.setLocation(25, 80);
panneau4.setLocation(30, 255);
}
}