Petit utilitaire pour mailbomber + charger/sauvegarder ses mails

Description

pratique quand on a rendu un tp en retard,
on fait croire au prof qu'on a envoyé son tp à temps
possibilité d'envoyer un certain nombre de mails (1-1000)
ainsi que de sauvegarder son mail pour le charger plus tard

le tout dans une interface conviviale

Source / Exemple :


import javax.mail.internet.*;
import javax.mail.*;
import java.util.*;
import java.io.*;
import java.text.*;

public class Mail
{
	private final static String MAILER_VERSION = "x84b12ca4587afeed4";
	private Vector tabServeur;
	
	public Mail()
	{
		tabServeur = new Vector();
		recupTabServeur();
	}
	
	public String sendMail(String serveur, 
							String pour,
							String de,
							String date,
							String sujet,
							int nb,
							String mess)
	{
		String result = null;
		try
		{
			//on regle les proprietes
			Properties prop = System.getProperties();
			prop.put("mail.smtp.host", serveur);
			
			//on instancie une variable session
			Session session = Session.getDefaultInstance(prop, null);
			
			//on fabrique le message
			Message message = new MimeMessage(session);
			message.setFrom(new InternetAddress(de));
			InternetAddress address = new InternetAddress(pour);
			message.setRecipient(Message.RecipientType.TO, address);
			message.setSubject(sujet);
			message.setText(mess);
			message.setHeader("X-Mailer", MAILER_VERSION);
			DateFormat df = DateFormat.getDateInstance();
			Date dt = df.parse(date);
			message.setSentDate(dt);
			for(int i=0; i<nb; i++)
			{
				Transport.send(message);
			}
			if(nb == 1)
				result = "Le Message a ete envoye avec succes";
			else
				result = "Les "+nb+" Messages ont ete envoyes avec succes";
		}
		catch(Exception e)
		{
			result = e.getMessage();
		}
		return result;
	}
	
	private void recupTabServeur()
	{
		String path = "servers.lig";
		String ligne="";
		
		try
		{
			BufferedReader buff = new BufferedReader(new FileReader(path));
			
			while ((ligne = buff.readLine()) != null)
			{
				tabServeur.add(ligne);
			}
			
			buff.close();
		}
		catch(Exception e)
		{
			System.err.println(e.getMessage());
		}
	}
		
	public Vector getTabServeur()
	{
		return tabServeur;
	}
	
	public void saveMessage(String pour, 
							String de, 
							String sujet, 
							String message,
							File file)
	{
		PrintWriter writer;
		try
		{
			writer =  new PrintWriter(new BufferedWriter(new FileWriter(file)));
			writer.println(pour);
			writer.println(de);
			writer.println(sujet);
			writer.println(message);
			writer.close();
		}
		catch(Exception e)
		{
			System.err.println(e.getMessage());
		}
	}
	
	public HashMap loadMessage(File file)
	{
		String ligne="", message="";
		HashMap mail = new HashMap();
		try
		{
			BufferedReader buff = new BufferedReader(new FileReader(file));
			
			mail.put("pour", buff.readLine());
			mail.put("de", buff.readLine());
			mail.put("sujet", buff.readLine());
			
			while ((ligne = buff.readLine()) != null)
			{
				message += (ligne+"\n");
			}
			mail.put("message", message);
			buff.close();
		}
		catch(Exception e)
		{
			System.err.println(e.getMessage());
		}
		
		return mail;
	}
}

Conclusion :


à rajouter:
- attachement de fichiers

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.