2016-09-14 74 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發送多封郵件

我發現,好好的談那些伊蘇斯許多單證的影響,但我不知道如何把它放在一個代碼示例中,是否有任何其他屬性,我必須將它添加到SMTP服務器?

回答

1

JavaMail不會爲你做這件事。你將需要一些性能分析工具。找到你喜歡的人,然後將其應用於此任務。或者只需使用System.currentTimeMillis()來簡單地執行一些操作即可測量操作所需的時間。

另請參閱此JavaMail FAQ entry for sending multiple messages with a single connection

+0

啊我看到了,我會自己做一個簡單的代碼,以評估所有引用的問題。 你能給我一個性能分析工具的建議嗎? – Selma

+0

您是否聽說過Google? :-) –

+0

我不明白,谷歌有這個功能嗎? – Selma