Javamail, accusé d'envoi et calcul de temps
Bonjour à tous,
je suis actuellement en stage et je programme une application JAVA qui apour objectif de faire des mesures de perf.
Mon problème est le suivant:
Je dois calculer le temps que met un serveur smtp pour envoyer un mail type.
Pour l'instant mon programme marche trés bien mais je calcule le temps d'exécution en mesurant la différence entre le temps au début du programme et le temps à la fin.
Mon problème vient du fait que je pense que ce temps correspond au temps que le programme met pour ajouter le mail à liste des mails du serveur Smtp et non pas le temps d'envoi réel.
Ma question est : Qu'en pensez vous? Est ce que j'ai raison ou est ce réellement le temps d'envoi du mail.
Sinon si j'ai raison est ce que vous auriez une technique pour attendre jusqu'à ce que le mail soit envoyé?
Exemple de code
Code:
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
| <div style="margin-left:40px"> public void launch() {
try {
startTimeToConnect = System.currentTimeMillis();
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
// Get a Session object
Session mailSession = Session.getDefaultInstance(props, null);
// construct the message
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText("Sample Message");
msg.setHeader("X-Mailer", mailer);
//Pour avoir un accusé. Ne marche pas
//msg.setHeader("Disposition-Notification-To",from);
//msg.setHeader("Return-Receipt-To",from);
//
msg.setSentDate(new Date());
Transport tr = mailSession.getTransport("smtp");
tr.connect(smtphost, username, password);
msg.saveChanges(); // don't forget this
tr.sendMessage(msg, msg.getAllRecipients());
tr.close();
System.out.println("\nMail was sent successfully.");
System.out.println (System.currentTimeMillis() - startTimeToConnect);
}
catch (Exception e) {
e.printStackTrace();
}
}</div> |
Merci d'avance
[ Modéré par Viena ]
Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.
:arrow: Les Règles du Forum