具有多线程功能的Javamail多收件

具有多线程功能的Javamail多收件,java,multithreading,email,jakarta-mail,Java,Multithreading,Email,Jakarta Mail,我必须给几个收件人发一封电子邮件。我不希望标题显示收件人的完整列表(即,我没有使用“Message.RecipientType.CC”)。若我使用“Message.RecipientType.BCC”,那个么邮件就有可能被发送到垃圾邮件中。所以我使用Message.RecipientType.TO一次发送一封电子邮件。问题是这可能需要很长时间。我的问题是,是否可以为每个要发送的电子邮件创建一个单独的线程以提高性能 您可以为每封邮件创建单独的线程,这将需要与邮件服务器建立单独的连接。根据您的邮件服

我必须给几个收件人发一封电子邮件。我不希望标题显示收件人的完整列表(即,我没有使用“Message.RecipientType.CC”)。若我使用“Message.RecipientType.BCC”,那个么邮件就有可能被发送到垃圾邮件中。所以我使用Message.RecipientType.TO一次发送一封电子邮件。问题是这可能需要很长时间。我的问题是,是否可以为每个要发送的电子邮件创建一个单独的线程以提高性能

您可以为每封邮件创建单独的线程,这将需要与邮件服务器建立单独的连接。根据您的邮件服务器,它可能会限制您可以使用的连接数


您还可以使用单个连接以串行方式发送消息。同样,根据您的邮件服务器,它可能会限制您在单个连接中可以发送的邮件数量。

您对电子邮件需求的“总体”描述是什么(在什么上下文中)。您的Java应用程序只做电子邮件还是其他事情?(如果您只有电子邮件要求,还有一些其他选项供您选择)很抱歉,回复太晚。我将向许多收件人发送一份类似的时事通讯。你最好使用MailChimp这样的商业服务(每月可免费发送12000封电子邮件)。如果你要发送许多电子邮件,你必须做很多事情来确保你发送的邮件不会被标记为垃圾邮件。。并确保您每天的服务不超过电子邮件数量。@erstwhileii:谢谢您的提醒。我已经知道如何防止我的邮件被视为垃圾邮件(当然在一定程度上),并且知道每天可以发送的电子邮件是有限制的。关于您关于使用MailChimp的建议,有没有一种方法可以将发送邮件与javamail和MailChimp集成在一起?@Bill Shannon:我想与多个线程共享一个会话对象,并在每个线程中使用Transport.send(mgs)。这样行吗?我想使用几个线程来提高性能,因为逐个发送消息太慢了。还有Transport.send调用如何确定主机和其他设置?它是否以某种方式从消息对象派生出它们?是的,它会起作用。每次调用Transport.send都将创建到邮件服务器的新连接。邮件服务器配置来自会话属性。如果所有邮件都发送到同一个邮件服务器(通常情况下),则最好每个连接发送多条邮件。@NwaiwuGilbert虽然没有javamail到Mailchimp的集成,但Mailchimp有一个丰富的API(基于JSON的),可用于创建活动和发送电子邮件。