首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javamail,Transport.send()非常慢

Javamail,Transport.send()非常慢
EN

Stack Overflow用户
提问于 2012-09-20 23:00:44
回答 1查看 12.2K关注 0票数 6

我已经写了一个批量发送电子邮件的方法,但它非常非常慢(大约每10秒3封邮件)。我想发几千封邮件。有没有什么方法可以更快地做到这一点?

我现在正在使用gmail,但只是为了测试,最后我想用我自己的SMTP服务器发送。

代码如下:

代码语言:javascript
复制
public boolean sendMessages()
{
    try 
    {
        Session session = Session.getInstance(this._properties, new javax.mail.Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                 return new PasswordAuthentication("user", "password");
            }
        });
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(this.getFrom()));


        message.setSubject(this.getSubject());
        message.setText(this.getBody());                
        for (int i = 0, c = this._addresses.size(); i < c; i++)
        {
            message.setRecipient(Message.RecipientType.TO,  new InternetAddress(this._addresses.get(i)));                    
            Transport.send(message);
        }
        return true;
     } 
     catch(AuthenticationFailedException e) {
         e.printStackTrace();
           return false;
     }
     catch(MessagingException e) {
         e.printStackTrace();
           return false;
     }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-25 02:27:45

好的,谢谢你的建议。

我的解决方案是:

代码语言:javascript
复制
Transport transport = session.getTransport("smtp");
transport.connect(this._properties.getProperty("mail.smtp.host"), 
Integer.parseInt(this._properties.getProperty("mail.smtp.port")),
    this._properties.getProperty("mail.smtp.user"),
    this._properties.getProperty("mail.smtp.password"));

Address[] addr = new Address[this._addresses.size()];
for (int i = 0, c = this._addresses.size(); i < c; i++)
{
    addr[i] = new InternetAddress(this._addresses.get(i));
}

transport.sendMessage(message, addr);
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12515420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档