[Javamail] Envoi mails et extraction mails depuis fichier txt
Bonjour tout le monde,
la fonction envoiMails permette d'envoyer un mail (existant dans un fichier txt :mailfile) à plusieurs destinataires (emails dans un fichier destfile.txt),ma question est comment je pourrais adapter cette méthode pour qu'elle soit appellée depuis le main ,ou bien comment préciser l'endroit des fichiers en question dans cette méthode .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| public static void envoiMails(String [] mails){
// Vérification du nombre d'arguments
if (mails.length != 4)
{
System.out.println ("usage: java from smtphost mailfile destfile");
System.exit (1);
}
// Récupération des arguments
String from = mails [0];
String smtphost = mails [1];
String mailFile = mails [2];
String destFile = mails [3];
try
{
// Ouverture du fichier contenant le sujet + le message à envoyer
// et du fichier contenant les destinataires
BufferedReader mailReader = new BufferedReader (new FileReader (mailFile));
BufferedReader destReader = new BufferedReader (new FileReader (destFile));
affiche("accès aux fichiers destinataires & contenu Mail");
// Lecture du sujet (première ligne)
String subject = mailReader.readLine ();
// Lecture du contenu du message
String content = "";
String line;
while ((line = mailReader.readLine ()) != null)
content += line + "\n";
mailReader.close ();
// Création d'un ensemble de propriétés
// 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 caractère est #, c'est une remarque
if ( to.length () > 0
&& to.charAt (0) != '#')
try
{
// Création d'un message
Message message = new MimeMessage (session);
// Modification de l'expéditeur
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);
}
} |
Merci pour votre aide.