2011-11-11 4 views
2

Я использую Java для выполнения команды оболочки (на окнах), чтобы открыть почтовый клиент по умолчанию. Команда mailto имеет много адресов электронной почты.Mailto long bcc list

Если список слишком длинный, будут отображаться только некоторые из адресов.

Я предполагаю, что это связано с проблемой длины командной строки max в Windows.

Есть ли у кого-нибудь идеи о том, как я могу это исправить? В крайнем случае, я мог вставлять адреса в буфер обмена, но это грязный взлом ИМХО, и любые лучшие предложения были бы оценены.

ответ

0

Если вы хотите буквально «открыть почтовый клиент по умолчанию» - например, чтобы пользователь мог изменить мессацию перед отправкой - тогда нет общего решения. Если клиентская программа может читать список адресов из файла - вы можете создать этот файл и передать его в качестве параметра; или, может быть, если он сможет прочитать все сообщение из файла/stdin и разобрать заголовки писем - вы можете это использовать. Но это сильно зависит от особенностей конкретного клиента и немного взломает (и, очевидно, не переносит). Однако, если вам просто нужно отправить почту - проверьте Java Mail API; который должен иметь дело с очень длинными списками, поскольку реализует базовый почтовый протокол без вызова команд ОС.

0

У меня была/была такая же проблема, и я использую функцию для нарезки адресов в управляемые куски, которые затем отправляются один за другим. Это должно работать, но у меня есть проблема, что мой почтовый клиент не откроет второе окно, пока первый из них все еще открыт (см. Second `window.location = mailto:` fails as long as first one is still open). Вы можете найти код, который я использую там, возможно, он работает для вас ...