2011-11-11 3 views
2

J'utilise Java pour exécuter une commande shell (sous Windows) pour ouvrir le client de messagerie par défaut. La commande mailto a beaucoup d'adresses e-mail bcc.Mailto longue liste bcc

Si la liste est trop longue, seules certaines adresses seront affichées.

Je suppose que cela est dû à un problème concernant la longueur maximale de la ligne de commande dans Windows.

Est-ce que quelqu'un a des idées sur la façon dont je pourrais résoudre ce problème? En dernier recours, je pourrais coller les adresses dans le presse-papiers, mais c'est un hack à mon humble avis et de meilleures suggestions seraient appréciées.

Répondre

0

Si vous voulez littéralement "ouvrir le client mail par défaut" - par exemple pour permettre à l'utilisateur de modifier le message avant de l'envoyer - alors il n'y a pas de solution générale. Si le programme client peut lire la liste d'adresses d'un fichier - vous pouvez créer ce fichier et le transmettre en tant que paramètre; ou peut-être s'il peut lire le message entier de file/stdin, et analyser les en-têtes de courrier - vous pouvez l'utiliser. Mais cela dépend fortement des caractéristiques du client spécifique, et est un peu un hack (et évidemment pas portable). Cependant, si vous avez juste besoin d'envoyer du courrier, consultez l'API Java Mail; cela devrait être capable de traiter des listes très longues, car implémente le protocole de mail sous-jacent sans invoquer les commandes du système d'exploitation.

0

J'ai eu/ai le même problème et utilise une fonction pour découper les adresses en morceaux gérables qui sont ensuite envoyés un par un. Cela devrait fonctionner, mais j'ai le problème que mon client mail n'ouvrira pas la deuxième fenêtre tant que le premier est toujours ouvert (voir Second `window.location = mailto:` fails as long as first one is still open). Vous pouvez trouver le code que j'utilise ici, peut-être que cela fonctionne pour vous ...