/* * MailingList.java 1.0 * * Copyright (c) 1999 Emmanuel PUYBARET - eTeks. All Rights Reserved. * */ import java.io.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class MailingList { public static void main (String [] args) { // Verification du nombre d'arguments if (args.length != 4) { System.out.println ("usage: java from smtphost mailfile destfile"); System.exit (1); } // Recuperation des arguments String from = args [0]; String smtphost = args [1]; String mailFile = args [2]; String destFile = args [3]; try { // Ouverture du fichier contenant le sujet + le message a envoyer // et du fichier contenant les destinataires BufferedReader mailReader = new BufferedReader (new FileReader (mailFile)); BufferedReader destReader = new BufferedReader (new FileReader (destFile)); // Lecture du sujet (premiere ligne) String subject = mailReader.readLine (); // Lecture du contenu du message String content = ""; String line; while ((line = mailReader.readLine ()) != null) content += line + "\n"; mailReader.close (); // Creation d'un ensemble de proprietes // et ouverture d'une session Properties props = new Properties(); props.put ("mail.smtp.host", smtphost); Session session = Session.getDefaultInstance (props, null); String to; // Parcours de la liste de tous les destinataires while ((to = destReader.readLine ()) != null) // Si le premier caractere est #, c'est une remarque if ( to.length () > 0 && to.charAt (0) != '#') try { // Creation d'un message Message message = new MimeMessage (session); // Modification de l'expediteur message.setFrom (new InternetAddress (from)); // Modification du destinataire InternetAddress [] address = {new InternetAddress (to)}; message.setRecipients (Message.RecipientType.TO, address); // Modification du sujet message.setSubject (subject); // Modification du contenu en texte brut message.setContent (content, "text/plain"); // Envoi du message Transport.send (message); System.out.println ("Message envoye a " + to); } catch (MessagingException mex) { mex.printStackTrace(); } } catch (IOException ex) { System.out.println ("Probleme d'acces a " + mailFile + " ou " + destFile); } } }