fllacer
Messages postés5Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention 1 février 2005
-
27 janv. 2005 à 14:29
fllacer
Messages postés5Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention 1 février 2005
-
1 févr. 2005 à 22:41
Bonjour,
j'envoi des fichiers mails avec l'api JavaMail
mais j'ai souvent des exceptions (marche une fois sur deux en moyenne)
de plus l'envoi ne marche que depuis ET vers les serveurs freesbes et hotmail
que faut il faire?
Voici le code :
try {
// Obtenir les propriétés du systeme
Properties props = System.getProperties();
// Inscrire le nom du serveur SMTP que l'on va utiliser
props.put("mail.smtp.host", smtpServer);
// Création d'une session utilisateur, sur la base des propriétés du système
Session session = Session.getDefaultInstance(props, null);
// Définition du message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
// On rempli le champ "CC" si nécessaire
if (!cc.equals("")) {
message.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));
}
// Test si fichier attaché ou non
if (chemAttach.equals("")) {
// On remplit le contenu du message
message.setText(body);
}
else {
// Première partie du message
BodyPart messageBodyPart = new MimeBodyPart();
// Contenu du message
messageBodyPart.setText(body);
//Ajout de la première partie du message dans un objet Multipart
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Partie de la pièce jointe
BodyPart messageBodyPart2 = new MimeBodyPart();
DataSource source = new FileDataSource(chemAttach);
messageBodyPart2.setDataHandler(new DataHandler(source));
messageBodyPart2.setFileName(chemAttach);
//Ajout de la partie pièce jointe
multipart.addBodyPart(messageBodyPart2);
message.setContent(multipart);
}
// Envoi du message
message.setHeader("Crypto-Mailer", MAILER_VERSION);
message.setSentDate(new Date());
Transport.send(message);
flagEnvoyé = true;
}
catch (Exception ex) {
System.out.println("Echec de l'envoi no"+compteur);
}
}
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 31 janv. 2005 à 13:34
Salut
Quelle genre d'exception tu as ???? Le mieux serait de catcher chaque exception à part et nez pas mettre de catch (Exception e) sinon on ne connait pas l'exception réelle ...
nested exception is:
class com.sun.mail.smtp.SMTPAddressFailedException: 550 RCPT TO:<[mailto:c.dupond@caramail.com c.dupond@caramail.com]> Relaying not allowed
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1130)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:525)
at javax.mail.Transport.send0(Transport.java:151)
at javax.mail.Transport.send(Transport.java:80)