2016-09-14 4 views
0

Я пытаюсь узнать, как работает SMTP (JAVAMAIL API).Измерение и оценка SMTP

Я написал код, который отправляет сообщение в указанный список адресов.

я использовал в качестве свойств для сервера SMTP:

mail.smtp.auth= true 
    mail.smtp.starttls.enable= true 
    mail.smtp.host= smtp.gmail.com 
    mail.smtp.port= 587 

код отправки электронной почты является:

public void sendEmail(String emailRecip, String subject, String texte) { 

    boolean isMsgSent = false; 
    Session session = Session.getInstance(props, 
      new javax.mail.Authenticator() { 
       @Override 
       protected PasswordAuthentication getPasswordAuthentication() { 
        return new PasswordAuthentication(username, password); 
       } 
      }); 

    try { 
     Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(username)); 
     String address = emailRecip; 
     InternetAddress[] iAdressArray = InternetAddress.parse(address); 

     message.setRecipients(Message.RecipientType.TO,iAdressArray); 
     message.setSubject(subject); 
     MimeBodyPart mbp1 = new MimeBodyPart(); 
     mbp1.setText(texte); 
     Multipart mp = new MimeMultipart(); 
     mp.addBodyPart(mbp1); 
     message.setContent(mp); 
     Transport.send(message); 
     isMsgSent = true; 
    } catch (MessagingException e) { 
     //... 
    } 


} 

Этот код работает хорошо, но я хотел бы знать, как я могу:

1- расчет времени стрельбы по доставке

2- рассчитать влияние размера сообщения

3- оценить влияние отправки нескольких сообщений на том же SMTP

Я нашел много документации, что talke об этих Иссе, но я не знаю, как привести его в пример кода, есть ли какие-либо другие свойства, которые я должен добавить на SMTP-сервер?

ответ

1

JavaMail не собирается делать это за вас. Вам понадобятся инструменты анализа производительности. Найдите тот, который вам нравится, а затем примените его к этой задаче. Или просто сделайте что-то простое, используя System.currentTimeMillis(), чтобы измерить количество времени, которое требуется выполнить.

См. Также JavaMail FAQ entry for sending multiple messages with a single connection.

+0

А я вижу, я сделаю простой код сам, чтобы оценить все приведенные проблемы. Можете ли вы дать мне предложение для инструментов анализа производительности? – Selma

+0

Вы слышали о Google? :-) –

+0

Я не понимаю, есть ли у этой функции Google? – Selma