Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24
  1. #11
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ma tu che smtp inserisci? E da dove la invii da casa? Se la invii da casa mi sa che devi utilizzare l'smtp del tuo provider; ultimamente i provider hanno adottato queste tecniche di controllo... almeno così mi sembra
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #12
    Prima di tutto grazie mille Angelo1974 per l'attenzione.

    Uso l'smtp di email.it quindi

    smtp.email.it

    Le email vengono spedite dal mio ufficio dove abbiamo una rete interna che però non tocco per la spedizione.

    Come indirizzo del mittente uso

    nome.cognome@email.it (ma questo non mi da errore)


    Come indirizzo del destinatario uso

    nome.cognome@libero.it (e questo mi da errore)

    Ho provato sia con l'autenticazione che senza.
    Se uso l'autenticazione passo come log nome.cognome@email.it o nome.cognome li ho provati entrambi e come psw la psw che uso per vedere la posta.

    Ho usato l'indirizzo di email.it per la spedizione perchè sapevo che libero ha messo dei vincoli. Adesso provo a cambiare anche la destinazione.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  3. #13
    Ho provato a settare il debug del javax.mail con il metodo

    sessione.setDebug(true);

    e ho riscontrato un altro errore:
    javax.mail.MessagingException: Unknown SMTP host: smtp.email.it;

    Come lo risolvo?
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  4. #14
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Sinceramente non lo so proprio
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  5. #15

    SOLUZIONE

    Sono finalmente riuscita a risolvere il mio problema.

    Leggendo tra le pagine di email.it ho scoperto che è necessaria l'autenticazione per inviare delle e-mail.
    Al codice che mi ha gentilmente e pazientemente postato Angelo1974 ho dovuto aggiungere alcune righe che servono appunto per l'autenticazione e modificarne altre (nel codice le trovate evidenziate tra *******).
    Inoltre ho dovuto aggiungere una classe necessaria all'autenticazione.

    Se la struttura della mia classe vi sembra strana è perchè sto usando JSP e le Action del framework struts.
    Il codice di un'applicazione normale non è molto diverso.

    codice:
    /*
     * EmailAction.java
     *
     * Created on 20 aprile 2004, 14.42
     */
    
    
    package com.kibuz.products.Actions;
    
    import java.io.*;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import org.apache.struts.util.MessageResources;
    
    import com.kibuz.products.objects.MyAuthenticator;
    
    import java.util.*;
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.io.*;
    
    /**
     *
     * 
    
    Title: SendEMail</p>
     * 
    
    Description: Classe utilizzata per inviare una e-mail</p>
     * 
    
    Copyright: Copyright (c) 2003</p>
     * 
    
    Company: </p>
     * @author:
     * @version 1.0
     */
    public class EmailAction extends Action{
      
      /**
       * Oggetto properties tramite cui settare la sessione
       */
      private Properties pro;
      
      /**
       * Oggetto sessione
       */
      private Session sessione;
      
      /**
       * Oggetto messaggio
       */
      private Message messaggio;
      
      /**
       * Indirizzo e-mail mittente
       */
      private InternetAddress da;
      
      /**
       * Indirizzi e-mail destinatari
       */
      private InternetAddress[] a;
      
     
     
      public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
      throws Exception {
        
        String smtp = "smtp.email.it";
        this.setProperties(smtp);
        sendMessaggio("nome.cognome@email.it", "nome.cognome@email.it", "Oggetto", "testo messaggio", false);
        
        return new ActionForward("home.kibuz", true);
        
      }
      
      /**
       * Costruttore della classe che setta, nelle properties, l'smtp utilizzato
       *
       * La spedizione di mail con l'smtp di email.it richiede l'autenticazione quindi è necessario inserire la riga pro.put("mail.smtp.auth", "true");
       *
       * @param po -l'smtp utilizzato per inviare il messaggio
       */
      public void setProperties(String po){
        
        pro = System.getProperties();
        pro.put("mail.smtp.host", po);
        
        //**********************************************************************************************
        pro.put("mail.smtp.auth", "true");
        //**********************************************************************************************
        
      }
      
      /**
       * Metodo che si occupa di settare la sessione
       */
      private void setSessione(){
        
        
        //**********************************************************************************************
        javax.mail.Authenticator auth = new MyAuthenticator(); // this class return a new PasswordAuthentication(usr, pwd) object
        
        
        sessione = javax.mail.Session.getInstance(pro, auth);
        //**********************************************************************************************    
        
        sessione.setDebug(true);
      }
      
      /**
       * Metodo che si occupa di settare, inizializzare il messaggio e di inviarlo
       * @param daChi -mittente
       * @param aChi  -destinatari
       * @param oggetto -oggetto e-mail
       * @param testoMessaggio -testo dell'email
       * @param autoritation -true se bisogna autorizzarsi, false altrimenti
       * @throws AddressException eccezione che si può verificare se l'indirizzo e-mail
       *                          dovesse essere non corretto
       * @throws MessagingException eventuale altra eccezione
       */
      public void sendMessaggio( String daChi, String aChi, String oggetto, String testoMessaggio, boolean autoritation ){
        
        try{
          
          setSessione();
          String host = pro.getProperty("mail.smtp.host");
          
          System.out.println( "["+host+"]" );
          Transport t = sessione.getTransport( "smtp" );
          messaggio = new MimeMessage(sessione);
          da = new InternetAddress(daChi);
          a = InternetAddress.parse(aChi);
          
          messaggio.setFrom(da);
          messaggio.setRecipients(Message.RecipientType.TO, a);
          messaggio.setSubject(oggetto);
          messaggio.setSentDate(new Date());
          messaggio.setText(testoMessaggio);
          //messaggio.setDataHandler(this.allegato);
          
         // il controllo sull'autoritation non è necessario.
         // il metodo send chiama anche il metodo connect
         /*
          if( autoritation ){
            
            String log = "caterina.curti";
            String psw = "kiuhyewpo";
            t.connect( host, log, psw );
          }else{
            
            t.connect();
          }
          */
          t.send( messaggio );
    
          t.close();
        }catch( AddressException ae ){
          
          ae.printStackTrace();
        }catch( MessagingException me ){
          
          me.printStackTrace();
        }
      }
    }
    Questa invece è la classe per l'autenticazione.
    Non fa molto se non avere una variabile d'istanza che contiene lo username del mittente e la password e fornire un metodo che restituisce la PasswordAuthentication;


    codice:
    /*
     * MyAuthenticator.java
     *
     * Created on 21 aprile 2004, 11.59
     */
    
    package com.kibuz.products.objects;
    
    
    import javax.mail.Authenticator;
    import javax.mail.PasswordAuthentication;
    
    /**
     *
     * @author  Caterina
     */
    public class MyAuthenticator extends Authenticator{
      
      private PasswordAuthentication passwordAutentication = new PasswordAuthentication("nome.cognome@email.it", "password");
      
      public MyAuthenticator(){
        
      }
      
      public PasswordAuthentication getPasswordAuthentication() {
        return passwordAutentication;
      }
    }
    Spero che possa servire a qualcuno.
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

  6. #16
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao kateetak; trovo molto interessante quello che hai postato... quindi me lo sono "rubato" ; ti ripeto un po' di tempo fa la mia classe funzionava.... mi ci sono divertito con gli amici... ora non so perchè faccia i capricci.. penso sia dovuto ai nuovi controlli che vengono fatti per evitare lo spamming.
    Cmq grazie della soluzione.
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  7. #17
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    32

    Aggiungere un pacchetto

    Ciao ragazzi, scusatemi ma non sono un programmatore esperto e non riesco a fare una cosa, anche se in teoria risulta molto semplice (ma, si sa, in teoria non c'è nessuna differenza fra teoria e pratica. Ma, in pratica, c'è! ). Vorrei appunto inviare e ricevere email con java, però ho dovuto scaricare due pacchetti extra di Java (il javamail-1.3.1 e il jaf-1.0.2), li ho decompressi nella cartella di java, e da qui in poi spuntano i problemi... Sul sito di Sun ho trovato scritto che bisogna aggiungere delle classpath alle variabili d'ambiente di windows, e ovviamente l'ho fatto, ma il mio IDE mi dice che i pacchetti javax.mail.* sono inesistenti. Dove ho cannato?
    “There are only 10 types of people in the world: those who understand binary and those who don't”
    "...now we just have to find the other 1000"

  8. #18
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Che IDE usi? In JBuilder, ad esempio, devi aggiungerli al suo classpath...
    Fammi sapere.. se è JBuilder ti posso aiutare.
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  9. #19
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    32
    NO, uso NetBeans. Oltre ad aver aggiunto i percorsi nelle variabili d'ambiente di windows, li ho aggiunti pure in NetBeans, ma nn so se li ho aggiunti nei punti giusti... nn so dove sbattere la testa, gosh.

    Rigaurdo a netbeans, lo sto solo provando, sennò jbuilder com'è? Me lo consiglieresti?
    “There are only 10 types of people in the world: those who understand binary and those who don't”
    "...now we just have to find the other 1000"

  10. #20
    Io uso NetBeans.
    Allora torna indietro sui tuoi passi...

    Per cominciare ti consiglio di leggere qui:
    http://java.sun.com/developer/online.../contents.html

    Nel link trovi spiegato come installare i package. Le librerie (cioè i jar) non devono essere inseriti nella cartella di java ma in quella lib della tua web application.
    In due parole devi scaricarti jaf1_0_1.zip e javamail1_1_3.zip, unzipparli (sorry x il termine) e copiare i due *.jar che ottieni nella cartella lib.
    Prima di copiare ti consiglio di fare l'unmount del filesystem e di fare il mount dopo aver copiato le lib (a questo punto dovresti vederle nella finestra FileSystem dell'IDE).
    ..::200 post il 1 settembre 2004::..
    ..::100 13/07/2004::..
    ..): Web Site (pazienza però) ..
    VASCO castiga chi non lecca la FIGA

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.