Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Invio email con java

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    83

    Invio email con java

    Ciao a tutti ,

    ho trovato su internet un esempio dove conto gli elementi di una cartella e se cambiano nell'arco di un minuto invio un email.Il problema sta proprio nell'invio dell'email perche mi da il seguente errore :


    codice:
    Error: javax.mail.MessagingException: Connect failed;   nested exception is: 	java.net.ConnectException: Connection timed out: connect

    Vi posto anche il codice , dicendovi che vorrei mandare l'email da un indirizzo hotmail.it

    grazie a tutti per la disponibilita



    import java.io.File;
    import java.net.PasswordAuthentication;
    import java.util.Arrays;
    import java.util.Properties;
    import java.util.Vector;

    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Store;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;


    public class Email {




    public static void postMail( String recipients, String subject,
    String message , String from) throws MessagingException {
    Properties props = new Properties();
    //indicare l'indirizzo del server smtp che si intende usare
    props.put("mail.smtp.host","smtp.live.com");
    Session session = Session.getDefaultInstance(props, null);

    Store store = session.getStore("pop3");
    store.connect("pop3.live.com", "xxxxxxxxx@hotmail.it","xxxxxxxx");


    Message msg = new MimeMessage(session);




    InternetAddress addressFrom = new InternetAddress(from);
    msg.setFrom(addressFrom);
    //InternetAddress[] addressTo = new InternetAddress[recipients.length];
    /* for (int i = 0; i < recipients.length; i++) {
    addressTo[i] = new InternetAddress(recipients[i]);
    }
    */
    InternetAddress addressTo = new InternetAddress();
    addressTo.setAddress(recipients) ;

    msg.addRecipient(Message.RecipientType.TO, addressTo);
    msg.setSubject(subject);
    msg.setContent(message, "text/plain");

    Transport.send(msg);
    }




    public static void main(String[] args) {
    String foldername="C:/Nuova cartella/" ;
    String recipients = "yyyyyyyy@yyyyyy.com";
    String from = "xxxxxxxxxx@hotmail.it";

    File folder = new File(foldername);
    if (!folder.isDirectory()) {
    System.out.println("[" + foldername + "] is not a directory.");
    return;
    }
    Vector oldFiles = new Vector(Arrays.asList(folder.list()));

    while (true) {
    try {
    Vector deleted = new Vector();
    Vector newFiles = new Vector(Arrays.asList(folder.list()));
    while (!oldFiles.isEmpty()) {
    String element = (String) oldFiles.firstElement();
    oldFiles.removeElementAt(0);
    if (newFiles.contains(element)) {
    newFiles.remove(element);
    } else {
    deleted.add(element);
    }
    }
    String message = "Folder " + foldername + " changed!";
    message += " Added files:";
    for (int i = 0; i < newFiles.size(); i++) {
    message = message + " " + (String) newFiles.elementAt(i);
    }

    message += " Deleted files:";
    for (int i = 0; i < deleted.size(); i++) {
    message = message + " " + (String) deleted.elementAt(i);
    }

    if ((!deleted.isEmpty()) || (!newFiles.isEmpty())) {

    postMail(recipients, "[MailAlerter] Folder changed", message, from);
    System.out.println("Folder changed, mail sent.");
    } else {
    System.out.println("Folder not changed: " + (folder.list()).length);
    }

    oldFiles = new Vector(Arrays.asList(folder.list()));
    //aspettiamo 10 minuti fra un controllo e l'altro
    Thread.sleep(1 * 60 * 1000);
    } catch (Exception e) {
    System.out.println("Error: " + e);
    }
    }
    }





    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    tiro ad indovinare: sono sbagliati i parametri di connessione? Guarda un po' l'esempio al sito della sun/oracle:
    JavaMail - Hotmail

    per fare una prova, puoi utilizzare il loro programma di test (dovresti averlo scaricato in bundle con i jar di javamail), adattando la configurazione ai dati del tuo account.

    PS: usa i tag [*CODE] per postare codice, così si mantiene la formattazione ed un minimo di leggibilità
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.