2016-09-14 71 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