Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA]eseguire classe java che lancia mail

    Ho questo problema:
    da una pagina di sito in php dovrei eseguire una classe Java che(interagendo con altre classi) mi dovrebbe spedire circa 15000 mail; il tempo non è importante nel senso che ci puo' impiegare anche 10 ore.

    la cosa importante è che la classe lavori in background nel senso che se anche l'utente che ha lanciato la pagina chiude il browser la classe continua a fare il suo dovere.

    oggi guardando questo link

    http://groups.google.it/group/it.com...073547a17e7b2c

    ho utilizzato la classe SendMail proposta in quel topic lanciandola dalla pagina con :
    system("Java SendMail");

    immagino che ovviamente per un sistema come quello che ho bisogno di creare io non sia la scelta migliore(direi neanche possibile)

    cerco allora qualche suggerimento relativo a delle classi piu' efficienti.

    grazie

  2. #2
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    io farei un thread che rimane attivo fino alla fine della spedizione del ciclo di mail...
    un qualcosa del genere...

    codice:
    // CLASSE PER INVIO MAIL
    
    
    import javax.mail.*;
    import javax.mail.internet.*;
    
    import java.util.*;
    
    public class MailHelper{
    
    	private String smtpServer = "tuoSMTP";
    
    
    public boolean sendMail(String from, String to, String subject, String body){
    		boolean returnValue = false;
    		try{
    			Properties props = System.getProperties();
    			props.put("mail.smtp.host", smtpServer);
    			Session session = Session.getDefaultInstance(props, null);
    
    			// -- Create a new message --
    			Message msg = new MimeMessage(session);
    
    			// -- Set the FROM and TO fields --
    			msg.setFrom(new InternetAddress(from));
    			msg.setRecipients(Message.RecipientType.TO,
    			InternetAddress.parse(to, false));
    
    			// -- Set the subject and body text --
    			msg.setSubject(subject);
    			String mimeEncoding = MimeUtility.mimeCharset("<Java Char encoding name>");
    
    			//msg.setContent(body, "text/html");
    			
    			String charset = "utf-8";
    			msg.setContent(body, "text/plain; charset=" + charset);
    			
    			// -- Set some other header information --
    			msg.setHeader("X-Mailer", "LOTONtechEmail");
    			msg.setSentDate(new Date());
    			
    			// -- Send the message --
    			Transport.send(msg);
    			
    			
    			//System.out.println("Message sent OK.");
    			returnValue = true;
    		}catch (Exception ex){
    			returnValue = false;
    		}
    		
    		return returnValue;
    		
    	}
    	
    }

    codice:
    // THREAD CICILICO
    public class EsecuzioneProva {
    	
    	
    	// DICHIARAZIONI VARIABILI E OGGETTI
    	MailHelper mailHelper = new MailHelper();
    
    	
    	
    	// ESECUZIONE PRINCIPALE DEL PROGRAMMA
    	public static void main(String[] args) {
    
    		Runnable r = new Runnable() {
    			public void run () {
    				Thread t = Thread.currentThread();
    				try {
    					Thread.sleep(1000);
    				} catch (InterruptedException e) {
    					e.printStackTrace();
    				}
    				// QUA HAI UN VETTORE DI MAIL DA SPEDIRE ( la classe ClasseMail sarà da creare !! )
    				for(int i=0;i<tuoVector.size();i++){
    					String from = (ClasseMail)tuoVector.elementAt(i).getFrom();
    					String to = (ClasseMail)tuoVector.elementAt(i).getTo();
    					String subject = (ClasseMail)tuoVector.elementAt(i).getSubject();
    					String body = (ClasseMail)tuoVector.elementAt(i).getBody();
    					boolean invioMail = mailHelper.sendMail(from, to, subject, body);
    				}
    				
    			}
    		};
    		(new Thread (r)).start();
    	}
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  3. #3
    grazie, dopo provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.