Prog mail

toxyko_974 Messages postés 15 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 décembre 2004 - 8 févr. 2004 à 19:15
cs_duchemino Messages postés 1 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 10 mars 2004 - 10 mars 2004 à 08:25
bonjour,

je cherche comment faire un prog qui vérifirais l'arriver de courier mail sur un compte mail deja créer (par exemple chez wanadoo ou autre) et récuperer le contenu du sujet et du body, puis de lancer un script (par exemple si le sujet du mail est "toto" je lance le script) où je placerais en argument le sujet et le body.

merci

4 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
8 févr. 2004 à 20:32
:big) Neodante :big)

Regarde sur www.salemioche.com -> protocole POP et IMAP (si vraiment ça t'intéresse ...)
@+

[Responsable www.neogamedev.com]
0
toxyko_974 Messages postés 15 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 1 décembre 2004
8 févr. 2004 à 20:43
merci mais souvent c'est expliker comment envoyer un mail mais pas comment en recevoir !!
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
8 févr. 2004 à 20:52
:big) Neodante :big)

Si tu regardes les FAQ c'est un truc du genre (c'est ce que tu envois) :
user toto
pass passtoto
list
retr num_du_message
quit

@+

[Responsable www.neogamedev.com]
0
cs_duchemino Messages postés 1 Date d'inscription mardi 6 janvier 2004 Statut Membre Dernière intervention 10 mars 2004
10 mars 2004 à 08:25
tu trouveras sur www.salemioche.com la plus intéressante des classes que j'aie jamais pu trouver sur le net concernant la récupération de message (Javamail).
Je l'ai retravaillée quelque peut, car elle avait quelques redondances, mais elle fonctionne très bien.
tu l'implémente sur une form (swing par exemple) en quelques lignes.
(Un modèle d'OO)

duo

import javax.mail.*;
import java.util.*;
import javax.mail.Flags.Flag;
import java.io.IOException;
import javax.mail.internet.InternetAddress;

public class ConnectionManager {


private String login;
private String password;
private String protocole;
private String host;
private int port;
private Session session;
private Store store;
private Folder folder;
private Message[] boiteMail;
private String msgInfo="";
private String msgErreur="";



/* ----------------- initialisation des variables ---------------*/


/* -- initialisation du login --*/
public void setLogin(String login){
this.login = login;
}

/* -- initialisation du password --*/
public void setPassword(String password){
this.password = password ;
}

/* -- initialisation du protocole --*/
public void setProtocole(String protocole){
this.protocole = protocole ;
}

/* -- initialisation de l'adresse serveur --*/
public void setHost(String host){
this.host = host ;
}

/* -- initialisation du port --*/
public void setPort(int port){
this.port = port ;
}

/* ----------------- initialisation de la connection ---------------*/
public boolean init()
{

Properties props = new Properties();//System.getProperties();//

// création d'une session
session = Session.getDefaultInstance(props,null);
session.setDebug(true);

//création d'un objet d'enregistrement de message
store = null;

try
{
store = session.getStore(protocole);
// DEBUG
msgInfo+="store ok !, ";
}
catch (NoSuchProviderException e)
{
// DEBUG
msgErreur+="store pas ok !, ";
return false;
}

// Connection
try
{
msgInfo+="début conncetion, ";
store.connect(host, port, login, password);
msgInfo+="connexion ok !, ";
}
catch ( MessagingException e)
{
msgErreur+="connexion pas ok !, ";
return false;
}
return true;
}

/* -----------------------fermeture de la session ---------*/
/*-----------------------close ----------------------------*/
public boolean close()
{

try
{
// fermeture du store
folder.expunge();
store.close();

}
catch (MessagingException e)
{
return false;
}

return true;
}

/*--------------------- ouverture d'un répertoire---------------*/
/* ---------------------- openMailBox --------------------------*/
public boolean openMailBox(String mailbox)
{
// ouverture du répertoire courant INBOX
folder = null;
try
{
folder = store.getDefaultFolder();

if(folder == null)
{
msgInfo+="Pas de boite aux lettres par défaut, ";
return false;
}

// par défaut on récupère les messages dans INBOX
folder = folder.getFolder(mailbox);
if (folder == null)
{
msgInfo+="pas de inbox, ";
}

try
{
folder.open(Folder.READ_WRITE);
msgInfo+="ficher " + folder.getName() + " ouvert, ";
}
catch (MessagingException e)
{
msgErreur+="[process_folder]: cannot open folder " + folder +
": " + e.getMessage()+", ";
e.printStackTrace();
}

}
catch (MessagingException e)
{

return false;
}

try
{
boiteMail = new Message[folder.getMessageCount()];
boiteMail = folder.getMessages();
}
catch( MessagingException e ){}

return true;
}
/* ----------- retourne le nombre de message contenu dans la boite-----------*/
//
public int nbMessage()
{
int totalMessages;
try
{
totalMessages = folder.getMessageCount();
}
catch( MessagingException e )
{
return -1;
}
return totalMessages;
}

/* ----------------- retourne le nombre de message non lu -----------------*/
public int nbMessageUnread()
{
int nbMessage;
try
{
nbMessage = folder.getUnreadMessageCount();
}
catch (MessagingException e)
{
return -1;
}
return nbMessage;
}

/* ----------------- retourne le nombre de nouveau message -----------------*/
public int nbNewMessage()
{
int nbMessage;
try
{
nbMessage = folder.getNewMessageCount();
}
catch (MessagingException e)
{
return -1;
}
return nbMessage;
}


/*------------------------efface le message num ---------------------------*/

public boolean deleteMessage(int num)
{
try
{
boiteMail[num].setFlag(Flags.Flag.DELETED,true);
return true;
}
catch (MessagingException e)
{
return false;
}
}

/*------------------------retourner le sujet du message num ---------------------------*/

public String getSubject(int num)
{

try
{
return boiteMail[num].getSubject();
}
catch(MessagingException e)
{
return null;
}
}

/*-------------- retourner l'adresse du message num --------------------*/

public String getAdresse(int num)
{
Address[] adresse;
InternetAddress webAdr;

try
{
adresse = boiteMail[num].getFrom();
webAdr = new InternetAddress(adresse[0].toString());
return webAdr.getAddress();
}
catch(MessagingException e)
{
return null;
}
}
/*-------------- retourner le nom de l'expéditeur --------------------*/

public String getNomExp(int num)
{
Address[] adresse;
InternetAddress webAdr;

try
{
adresse = boiteMail[num].getFrom();
webAdr = new InternetAddress(adresse[0].toString());
return webAdr.getPersonal();
}
catch(MessagingException e)
{
return "";
}
}

/*------------------ retourner la date du message ----------------------*/

public String getDate(int num)
{
GregorianCalendar calendrier = new GregorianCalendar();
String maDate = new String();
String temp = new String();

try
{
calendrier.setTime(boiteMail[num].getReceivedDate());

switch (calendrier.get(calendrier.DAY_OF_WEEK))
{
case Calendar.SUNDAY: temp = "dimanche "; break;
case Calendar.MONDAY: temp = "lundi "; break;
case Calendar.TUESDAY: temp = "mardi "; break;
case Calendar.WEDNESDAY: temp = "mercredi "; break;
case Calendar.THURSDAY: temp = "jeudi "; break;
case Calendar.FRIDAY: temp = "vendredi "; break;
case Calendar.SATURDAY: temp = "samedi "; break;
}
maDate = temp;

Integer i = new Integer(calendrier.get(calendrier.DATE));
maDate += i.toString();

switch (calendrier.get(calendrier.MONTH))
{
case 0: temp = " janvier"; break;
case 1: temp = " février"; break;
case 2: temp = " mars"; break;
case 3: temp = " avril"; break;
case 4: temp = " mai"; break;
case 5: temp = " juin"; break;
case 6: temp = " juillet"; break;
case 7: temp = " août"; break;
case 8: temp = " septembre"; break;
case 9: temp = " octobre"; break;
case 10: temp = " novembre"; break;
case 11: temp = " décembre"; break;
}
maDate += temp;

return maDate;
}
catch(MessagingException e)
{
return null;
}
}

/*------------------ retourner le text du message num -----------------*/
/* ---------------------getText--------------------------------------*/

public String getText(int num)
{

Multipart multi;
BodyPart body;

try
{

if(boiteMail[num].isMimeType("text/plain"))
{
boiteMail[num].setFlag(Flags.Flag.SEEN,true);
return (String)boiteMail[num].getContent();
}
else
{
multi = (Multipart)(boiteMail[num].getContent());
body = multi.getBodyPart(0);
boiteMail[num].setFlag(Flags.Flag.SEEN,true);
return (String)body.getContent();
}

}
catch(MessagingException e)
{
return null;
}

catch(IOException io)
{
return null;
}
}

/*--------retourne si le messages est nouveau ou non-------*/
/* ---------------------isNew--------------------------------------*/
public boolean isNew(int num)
{
try
{
return boiteMail[num].isSet(Flag.RECENT);
}
catch(MessagingException e)
{
return false;
}
}

/*--------retourne si le messages est lu ou non-------*/
/* ---------------------isRead--------------------------------------*/
public boolean isRead(int num)
{
try
{
return boiteMail[num].isSet(Flag.SEEN);
}
catch(MessagingException e)
{
return false;
}
}

public String getMsg ()
{
return msgInfo;
}

public String getMsgErr ()
{
return msgErreur;
}

}
0
Rejoignez-nous