Accueil > > > SMTP ET MAILS
SMTP ET MAILS
Information sur la source
Description
Ce prog gère l'envoi de mail à travers le protocole SMTP. Il fonctionne mais il faut disposer d'un serveur SMTP...
Source
- /**************************************************************
- * 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);
}
}
Conclusion
Normalement le mot de passe n'est pas absolument nécessaire si vous êtes connectés sur le réseau du serveur !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
serveur smtp [ par salim81 ]
bonjour a tous; dans une application d'envoi des mail j'ai une methode ou je declare le serveur smtp.l'application ça marche bien lors de l'execution
Un client mail java et le protocole SMTP. [ par ptiniko ]
Bonjour. J'aurai une petite question à propos du protocole SMTP et de java. J'ai lu un tuto et j'ai notament vu que SMTP ca ressemble à ca:[lecture][e
connection a un server mail via TLS [ par salim81 ]
Bonjour a tous; il y a une semaine que je boucle sur un probleme de connection a un server mail en mode TLS et SSL mais sans resultas.j'arrive pas a
Envoi mail avec java [ par mariembhk ]
slt tout le monde,je suis entrain d'implémenter une application en java dont l'une des taches est l'envoi de mail.j'ai trouvé beaucoup de codes sur in
java mail [ par josefblgh ]
salut pour tous mon problem c'est que j'essai d'envoyer un e-mail avec java mail mais j'arive pas svp qlq1 peu m'aider?mon code est le suivants:import
serveur smtp [ par houcinegh1 ]
salut mes amies svp je veux un exemple d'un serveur SMTP.il y a des application demende cet information pour envoyer un email. et comment desposer de
Probleme envoi mail javaxmail [ par ermenault ]
Je souhaiterais envoyer un message mail, mais je ne comprends pas, j'ai tt le temps la même erreur.javax.mail.MessagingException: Could not connect to
erreur serveur smtp [ par salim81 ]
bonjour; je m'excuse de reposer mon probleme.c'est juste pour bien l'expliquer . j'ai une fonction java qui me permet d'envoyer un mail.cette fonction
connection en mode TLS [ par salim81 ]
Bonjour; j'ai un code qui me permet de se connecter au server mail via SSL.mais server mail suporte juste le mode TSL.pourrier vous m'aider pour chang
SMTP problème d'envoi de Mail [ par salim81 ]
Bonjour; Je vous explique mon problème. En effet je suis capable d'envoyer des mails avec des adresses de meme domaine Mais si j'envoi un mail à mon a
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|