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

Servlets/JSP Java Discussion :

JSP javamail java.lang.ClassCastException


Sujet :

Servlets/JSP Java

  1. #1
    itr
    itr est déconnecté
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut JSP javamail java.lang.ClassCastException
    Bonjour,


    Je cherche à créer une alerte mail avec javamail. J'ai créé un bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    package servlets.index;
    import java.util.Properties;
     
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
     
    public class Envoi {
     
    	  /** Destinataire du message. */
    	  private String message_dest = "mail@hotmail.com";
    	  /* Objet du message. */
    	  private String message_objet = "Re: detail du sujet ";
    	  /** Destinataire du message en copie (CC). */
    	  private String message_cc = "i@caramail.fr";
    	  /** Texte du message. */
    	  private String message_corps =
    	  "Bonjour dans une semaine vous recevrez de  " +
    	  "plus amples détails sur " +
    	  "le sujet de votre choix";
     
    	  /** Objet session de JavaMail. */
    	  private Session session;
    	  /** Objet message de JavaMail. */
    	  private Message mesg;
    	  String serveurSMTP = "xxx.xxx.xx.xx"; 
     
     
     
    	  public void envoyerMail() {
     
    //	   Nous devons passer les informations au serveur de messagerie sous
    //	   forme de propriétés car JavaMail en comporte beaucoup...
    	  Properties props = new Properties();
     
    //	   Votre réseau doit donner au serveur SMTP local le nom "nom_du_serveur_smtp"
     
    	  props.put("mail.essai.net", serveurSMTP);
     
    //	   Créer l’objet Session.
    	  session = Session.getDefaultInstance(props, null);
    	  session.setDebug(true); //activer le mode verbeux !
     
    	  try {
    //	   Créer un message.
    	  mesg = new MimeMessage(session);
     
    //	   Adresse From - Indiquer la provenance du message
    	  mesg.setFrom(new InternetAddress("itr@kerlink.fr"));
     
    //	   Adresse TO. 
    	  InternetAddress toAddress = new InternetAddress(message_dest);
    	  mesg.addRecipient(Message.RecipientType.TO, toAddress);
     
    //	   Adresse CC.
    	  InternetAddress ccAddress = new InternetAddress(message_cc);
    	  mesg.addRecipient(Message.RecipientType.CC, ccAddress);
     
    //	   Objet.
    	  mesg.setSubject(message_objet);
     
    //	   Corps du message.
    	  mesg.setText(message_corps);
     
    //	   Enfin, envoyer le message !
    	  Transport.send(mesg);
     
    	  } catch (MessagingException ex) {
    	  while ((ex = (MessagingException)ex.getNextException()) != null) {
    	  ex.printStackTrace();
    	  }
    	  }
     
    	  }
     
    }
    (code tiré de ce site :http://www.supinfo-projects.com/fr/2005/java%5Fmail/2/=
    j'appelle la fonction envoyerMail() dans ma JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <jsp:useBean id="envoi" class="servlets.index.Envoi" scope="session"/>
     
    <%
    envoi.envoyerMail();
    et j'obtiens l'erreur suivante :java.lang.ClassCastException

    dans le fichier de log j'ai ça :

    DEBUG: setDebug: JavaMail version 1.4ea
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false

    qn a une idée ?

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Donne nous la trace complete de ton ClassCastException. En dessous il doit etre ecrit la ligne qui pose problème.
    Etre c'est etre relatif.

  3. #3
    itr
    itr est déconnecté
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    java.lang.ClassCastException
    	servlets.index.Envoi.envoyerMail(Envoi.java:72)
    	org.apache.jsp.stock.insertComposant_jsp._jspService(insertComposant_jsp.java:74)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    la ligne 72 correspond à ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     while ((ex = (MessagingException)ex.getNextException()) != null)

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Et tu ne vois pas un legé problème dans cette ligne ?

    Tu essais de mettre un objet de getNextException() dans l'objet ex alors que lui même vient déja de ex... bonjour la torture de cerveau

    Pourquoi ne pas simplement faire ex.getNextException() != null ?
    Etre c'est etre relatif.

  5. #5
    itr
    itr est déconnecté
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    merci mon alarme est partie par contre j'ai un autre soucis :

    javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
    nested exception is:
    java.net.ConnectException: Connection refused


    je pense que mes accès ne doivent pas etre bon

  6. #6
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    A premiere vue il semble que cela vienne d'un problème d'ouverture de port.

    Est ce que le port 25 SMTP est ouvert sur votre serveur?
    Etre c'est etre relatif.

  7. #7
    itr
    itr est déconnecté
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    j'ai laissé tombé pour un prog qui marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <%@ page import="sun.net.smtp.SmtpClient, java.io.*" %>
    <%
     String from="ess@hotmail.com";
     String to="essai@hotmail.com";
     try{
         SmtpClient client = new SmtpClient("mail.net");
         client.from(from);
         client.to(to);
         PrintStream message = client.startMessage();
         message.println("To: " + to);
         message.println("From: " + from);
         message.println("Subject:  Alerte mail stock composant");
         message.println("");
         message.println();
         message.println();     
         message.println();
         message.println(mesg);
         client.closeServer();
      }
      catch (IOException e){        
         System.out.println("ERROR SENDING EMAIL:"+e);
      }
      %>

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

Discussions similaires

  1. erreur java java.lang.ClassCastException
    Par yLaplace dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2007, 18h17
  2. pb java.lang.ClassCastException: $Proxy84
    Par chakala dans le forum Wildfly/JBoss
    Réponses: 10
    Dernier message: 15/03/2007, 14h21
  3. [EJB3] java.lang.ClassCastException
    Par n00noors dans le forum Java EE
    Réponses: 9
    Dernier message: 21/02/2006, 15h06
  4. Réponses: 16
    Dernier message: 10/01/2006, 22h02
  5. [JSP] pb " java.lang.outOfMemoryError "
    Par lthomas dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 31/03/2005, 10h13

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