Invio e ricezione mail

di il
9 risposte

Invio e ricezione mail

Ciao a tutti
styo cercando di prendere confidenza con l'invio e la ricezione di mail. il mio progetto è quello di realizzare una semplice GUI in cui inviare mail, e riceverne.
ora sapendo la mia mail, indirizzo che sarà usato per l'invio e per la ricezione, cosa altro devo sapere?
ho scaricato la libreria javax.mail e la documentazione.
esempio, io un account su libero ed una connessione wifi da casa con tre, che dati devo cercare per inviare e ricevere mail utilizzando l'operatore tre ed il mio account.
dove vanno cercati questi dati?
poi la cosa cambia, se sono sotto un''altra rete wifi?
chi mi riesce a postare del codice, per favore.
grazie

9 Risposte

  • Re: Invio e ricezione mail

    Con un po' di pazienza trovi TUTTI gli esempi che ti servono semplicemente mediante una ricerca con Google.

    Ci sono DUE aspetti che devi tenere presente:

    1) se vuoi ricevere le email, ci sono DUE protoclli che si possono usare e che dipendono dal tuo provider di posta: POP3 o IMAP
    2) se vuoi inviare una mai, devi usare il protocollo SMTP.

    Con un po' di pazienza trovi tutte le informazioni su come configurare, ad esempio, Outlook o Thunderbird per ricevere ed inviare mail usando l'account di Libero.
    Ovviamente per l'interfaccia web NON ti servono queste informazioni. Pero' una volta c'era un tool java che permetteva di vedere i servizi web di posta elettronica come un server SMTP e POP3 (invio e ricezione). Di nuovo, con un po' di pazienza trovi tutta la documentazione del caso. Pero' questa NON e' la strada corretta. La strada corretta e' quella di configurare Outlook o un qualunque altro client di posta.

    Una volta che hai correttamente configurato il client di posta e l'invio e la ricezione funzionano, hai tutte l;e informazioni per potre fare la stessa cosa in Java.

    http://www.oracle.com/technetwork/java/javamail/index.html
  • Re: Invio e ricezione mail

    Ok grazie
    vedo e ti faccio sapere
  • Re: Invio e ricezione mail

    Allora ieri sono riuscito a scrivere del codice che invia delle mail, connessione con gestore, e account libero.
    questo è il codice:
    
    	    Properties props = new Properties();
                props.put("mail.smtp.host", "smtp.libero.it"); // for gmail use smtp.gmail.com
                props.put("mail.smtp.auth", "true");
                props.put("mail.debug", "true"); 
                props.put("mail.smtp.starttls.enable", "true");
                props.put("mail.smtp.port", "587");
                props.put("mail.smtp.socketFactory.port", "587");
                props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
                props.put("mail.smtp.socketFactory.fallback", "false");
    
                Session mailSession = Session.getInstance(props, null);
    
                mailSession.setDebug(true); // Enable the debug mode
    
                Message msg = new MimeMessage( mailSession );
    
                msg.setFrom( new InternetAddress("mio account libero") );
                msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse(this.textFieldEmail.getText()) );
                
                msg.setSentDate(new Date());
                msg.setSubject( "Hello World!" );
                
                msg.setText( "Hello from my first e-mail sent with JavaMail" );
                
                Transport transport = mailSession.getTransport("smtps"); //("smtp") per non usare SSL
                	/* criptare la password */
                transport.connect("smtp.libero.it", "account libero", "mia passsword");
                transport.sendMessage(msg, msg.getAllRecipients());
                transport.close();
    oggi dall'ufficio dell'azienda per cui lavoro sto provando a fare la stessa cosa, ma non riesco. sulla rete ho trovato che ciò è dovuto al fatto che la connessione aziendale usa un proxy che si collega attraverso una rete locale lan, per cui ogni volta che mi porto il computer in ufficio devo cambiare le impostazioni di firefox.
    che cos'è un proxy? cosa cambia con la connessione normale? e come si fa con java?
    e poi Outlook è configurato con Microsoft Exchange. che significa?
    c'è qualcuno che riesce a darmi una mano, per favore
  • Re: Invio e ricezione mail

    starsinger2000 ha scritto:


    che cos'è un proxy? cosa cambia con la connessione normale? e come si fa con java?
    e poi Outlook è configurato con Microsoft Exchange. che significa?
    c'è qualcuno che riesce a darmi una mano, per favore
    Ciao,
    vedo di risponderti un po' io in maniera quanto piu semplice posso..
    Un proxy non è altro che un filtro frapposto tra internet e la rete aziendale.
    Il proxy crea un filtro secondo vari criteri impostati dall'azienda (contenuti della pagina web, indirizzi ip abilitati, pagine web visitabili), contestualmente permette di nascondere la propria navigazione all'esterno della rete lan, creare cache di pagine web per l'accesso più veloce e ottimizzare le richieste via internet.
    Di solito i proxy aziendali vengono principalmente utilizzati per limitare la visualizzazione di pagine web (ed altre risorse internt) ai dipendenti secondo criteri specifici (ed eventualmente tracciare la navigazione delle risorse libere).

    Detto questo il proxy può essere impostato a livello di singola applicazione (come hai fatto tu su firefox) se le risorse web utilizzate sono di una singola natura specifica (nel tuo caso pagine web, siti internet); altrimenti a livello di S.O. attraverso delle impostazioni internet (nel caso di Windows sono accessibili anche tramite I.E.) in modo che tutto il sistema si interfacci con il proxy per ogni richiesta esterna alla rete lan.

    Con Java penso che la soluzione sia appunto quella di modificare il proxy a livello del sistema operativo, sempre ammesso che la risorsa web (in questo caso i server di posta a cui stai cercando di accedere) siano abilitati all'accesso lato proxy, altrimenti non riusciresti in nessun modo ad accedere alle risorse, se non richiedendo al tuo amministratore di rete di abilitarti tali accessi.
    Non penso che la classe che stai utilizzando, abbia dei metodi o delle proprietà per indirizzare le richieste al proxy direttamente (quindi impostare il proxy a livello applicazione), ma qui alzo le mani perchè ho usato spesso questa classe ma mai attraverso un proxy.

    Il protocollo Microsoft Exchange invece è una cosa un tantino più complessa di un semplice POP, IMAP e SMTP, sviluppato da Microsoft per server esclusivamente Microsoft che si occupa di gestire la posta ma anche calendari e appuntamenti per ogni account configurato. Sicuramente se c'è una classe Java che gestisce tale protocollo, non è sicuramente mail di javax..

    Spero di averti chiarito almeno un pochino le idee...
  • Re: Invio e ricezione mail

    Il proxy un filtro? mah...

  • Re: Invio e ricezione mail

    mauroghiglia ha scritto:


    Il proxy un filtro? mah...


    Cito proprio dalla fonte che hai postato:

    Creare una "barriera di difesa" (Firewall) verso il web, agendo da filtro per le connessioni entranti ed uscenti e monitorando, controllando e modificando il traffico interno
  • Re: Invio e ricezione mail

    Il proxy PUÒ agire anche da filtro, ma questo non vuol dire che si possa definire un filtro...
  • Re: Invio e ricezione mail

    mauroghiglia ha scritto:


    Il proxy PUÒ agire anche da filtro, ma questo non vuol dire che si possa definire un filtro...
    Ho cercato di dare una risposta quanto più semplicistica possibile (come ho scritto prima) di cosa è un proxy, ad una persona che non sa cosa sia e che attende una risposta da più di una settimana...
    Se sei in grado di rispondere meglio di me alla domanda posta, potevi rispondere prima e in maniera più esaustiva (sempre ammesso che al nostro collega interessino i tecnicismi dietro alla sua domanda)..

    Non capisco tutta sta necessità di sminuire le risposte degli altri DOPO...

    Detto questo la chiudo qua, non voglio fare polemica inutile, solo far pensare al fatto che il forum è fatto per chiedere aiuto e aiutare, non per dimostrare chi lo ha più grosso e lungo.. Chi può e qualcosa sa, contribuisce bene o male, in parte o in toto a dare una risposta utile alle domande..
    Se la risposta è completamente errata ci sta una correzione, ma non è necessario farlo SOLO per sminuire il tentativo di aiuto da parte di altri..

    Altrimenti ogni volta che una persona ha voglia di rispondere ad una domanda in cui potrebbe essere anche competente, ci pensa 1000 volte e magari rinuncia per il semplice fatto di non voler essere attaccato da altri...
  • Re: Invio e ricezione mail

    Grazie
    faccio sapere se riesco.
Devi accedere o registrarti per scrivere nel forum
9 risposte