【问题标题】:SMTP measurement and evaluationSMTP 测量和评估
【发布时间】:2016-09-15 04:48:38
【问题描述】:

我正在尝试了解 SMTP 的工作原理(JAVAMAIL API)。

我编写了一个向给定地址列表发送消息的代码。

我用作 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 服务器?

【问题讨论】:

    标签: java smtp jakarta-mail


    【解决方案1】:

    JavaMail 不会为您执行此操作。您将需要一些性能分析工具。找到一个你喜欢的,然后将它应用到这个任务中。或者只是使用 System.currentTimeMillis() 自己做一些简单的事情来测量操作所花费的时间。

    另请参阅JavaMail FAQ entry for sending multiple messages with a single connection

    【讨论】:

    • 啊,我明白了,我将自己编写一个简单的代码来评估所有引用的问题。你能给我一个性能分析工具的建议吗?
    • 您听说过谷歌吗? :-)
    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2014-02-08
    相关资源
    最近更新 更多