Mailto长密码列表

时间:2011-11-11 11:30:27

标签: java email url mailto

我正在使用Java执行shell命令(在Windows上)来打开默认的邮件客户端。 mailto命令有很多密件抄送电子邮件地址。

如果列表太长,则只会显示部分地址。

我猜这是由于Windows中的最大命令行长度问题。

有没有人对如何解决这个问题有任何想法?作为最后的手段,我可​​以将地址粘贴到剪贴板,但这是一个肮脏的黑客恕我直言,任何更好的建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果你想要字面意思是“打开默认邮件客户端” - 例如允许用户在发送之前修改消息 - 那么就没有通用的解决方案。如果客户端程序可以从文件中读取地址列表 - 您可以创建该文件并将其作为参数传递;或者,如果它可以从文件/ stdin中读取整个消息,并解析邮件头 - 您可以使用它。但这很大程度上取决于特定客户端的功能,并且有点像黑客(显然不是便携式的)。 但是,如果您只需要发送邮件 - 请查看Java Mail API;应该能够处理非常长的列表,因为实现基础邮件协议不会调用OS命令。

答案 1 :(得分:0)

我遇到了同样的问题,并使用一个函数将地址分割成可管理的块,然后逐个发送。这应该有效,但我遇到的问题是,只要第一个窗口仍处于打开状态,我的mailclient就不会打开第二个窗口(参见Second `window.location = mailto:` fails as long as first one is still open)。你可以找到我在那里使用的代码,也许它对你有用......