IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Socket (SMTP) vers objet MimeMessage : conversion ?


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 13
    Par défaut Socket (SMTP) vers objet MimeMessage : conversion ?
    Salut,

    Je cherche à créer un objet MimeMessage à partir d'une connexion SMTP que je reçois avec un ServerSocket. Afin de ne pas avoir à analyser moi même les données qui m'arrivent, j'ai voulu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MimeMessage message = new MimeMessage(session, srvSock.getInputStream());
    Malheureusement le constructeur ne se termine pas tant que mon socket n'est pas clos (alors que les données du mail s'arrêtent à la séquence <CRLF>.<CRLF> d'après le protocole SMTP).

    J'ai pensé à lire moi même le flux d'entrée dans un String, mais il n'existe pas de constructeur de MimeMessage à partir d'un String. J'ai cherché une façon de créer un InputStream qui lirait une String, sans succès.

    Avez-vous des suggestions à me faire sur la façon de résoudre mon problème (utilisation d'un autre constructeur, exemple sur la façon de créer un InputStream sur un String, ruse de sioux, etc...) ?

    Merci

    Loïc

  2. #2
    Membre éprouvé Avatar de jerome.petit
    Inscrit en
    Novembre 2002
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 78
    Par défaut
    ptete avec un ByteArrayInputStream construit à partir des octets de ta chaine ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 13
    Par défaut
    :-D

    Suffisait de savoir où chercher !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    String strMsg = "";
    String strDonnees;
     
    strDonnees = inStream.readLine(); // inStream est un BufferedReader sur le InptStream retourné par srvSock.getInputStream()
    while (strDonnees.compareTo(".") != 0)
    {
       strMsg += strDonnees + "\r\n"; 
       strDonnees = inStream.readLine();
    }
     
    ByteArrayInputStream inMsgStream = new ByteArrayInputStream(inMsg.getBytes());
    MimeMessage message = new MimeMessage(session, inMsgStream);
    Merci ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion date fmt smtp vers iso
    Par marcl1 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 10/09/2012, 16h36
  2. Passage de tableau de pointeurs vers objets
    Par gnulix dans le forum C++
    Réponses: 5
    Dernier message: 14/04/2007, 19h41
  3. Réponses: 4
    Dernier message: 04/02/2007, 00h06
  4. [socket] envoie d'objet
    Par soad dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 08/02/2006, 19h46
  5. code c pour sockets (udp vers tcp et inversement)
    Par HiT dans le forum Développement
    Réponses: 11
    Dernier message: 19/11/2005, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo