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

    Invocare Classe Invio Email

    Ciao a tutti ho creato una classe, per l'invio della posta, che provvedo ad allegare.

    Premesso che lanciata singolarmente la classe funziona perfettamente.

    Quando provo ad invocarla da un'altra classe mi da un messaggio di errore.

    Qualcuno sa come invocare questa classe?

    Ciao.
    codice:
    public class SendAMail {
    
        private static final String SMTP_HOST_NAME = "smtp.gmail.com";
        private static final int SMTP_HOST_PORT = 465;
        private static final String SMTP_AUTH_USER = "XXXXXXXXXXXXXXX@gmail.com";
        private static final String SMTP_AUTH_PWD  = "XXXXXXXXXXXXXXXX";
    
        public static void main(String[] args) throws Exception{
           new SendAMail().test();
        }
    
        public void test() throws Exception{
            Properties props = new Properties();
    
            props.put("mail.transport.protocol", "smtps");
            props.put("mail.smtps.host", SMTP_HOST_NAME);
            props.put("mail.smtps.auth", "true");
            props.put("mail.smtps.quitwait", "false");
    
            Session mailSession = Session.getDefaultInstance(props);
            mailSession.setDebug(true);
            Transport transport = mailSession.getTransport();
    
            MimeMessage message = new MimeMessage(mailSession);
            message.setSubject("Testing SMTP-SSL");
            message.setContent("TESTO MESSAGGIO DI POSTA", "text/plain");
            message.addRecipient(Message.RecipientType.TO,
                 new InternetAddress("XXXXXXXXXXXXX@gmail.com"));
    
            transport.connect
              (SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD);
    
            transport.sendMessage(message,
                message.getRecipients(Message.RecipientType.TO));
            transport.close();
        }
    }

  2. #2

    Re: Invocare Classe Invio Email

    Originariamente inviato da dariofederici
    Ciao a tutti ho creato una classe, per l'invio della posta, che provvedo ad allegare.

    Premesso che lanciata singolarmente la classe funziona perfettamente.

    Quando provo ad invocarla da un'altra classe mi da un messaggio di errore.

    Qualcuno sa come invocare questa classe?

    Ciao.
    codice:
    public class SendAMail {
    
        private static final String SMTP_HOST_NAME = "smtp.gmail.com";
        private static final int SMTP_HOST_PORT = 465;
        private static final String SMTP_AUTH_USER = "XXXXXXXXXXXXXXX@gmail.com";
        private static final String SMTP_AUTH_PWD  = "XXXXXXXXXXXXXXXX";
    
        public static void main(String[] args) throws Exception{
           new SendAMail().test();
        }
    
        public void test() throws Exception{
            Properties props = new Properties();
    
            props.put("mail.transport.protocol", "smtps");
            props.put("mail.smtps.host", SMTP_HOST_NAME);
            props.put("mail.smtps.auth", "true");
            props.put("mail.smtps.quitwait", "false");
    
            Session mailSession = Session.getDefaultInstance(props);
            mailSession.setDebug(true);
            Transport transport = mailSession.getTransport();
    
            MimeMessage message = new MimeMessage(mailSession);
            message.setSubject("Testing SMTP-SSL");
            message.setContent("TESTO MESSAGGIO DI POSTA", "text/plain");
            message.addRecipient(Message.RecipientType.TO,
                 new InternetAddress("XXXXXXXXXXXXX@gmail.com"));
    
            transport.connect
              (SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD);
    
            transport.sendMessage(message,
                message.getRecipients(Message.RecipientType.TO));
            transport.close();
        }
    }
    Linguaggio utilizzato?

    E poi, che messaggio è? Questo è fondamentale per capire dove è il problema.


    Ciao

  3. #3

    RE LINGUAGGIO UTILIZZATO

    Scusate pensavo di essere all'interno della sezione Java.
    Il linguaggio è java comunque.

    ciao

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: Invocare Classe Invio Email

    Originariamente inviato da dariofederici
    Quando provo ad invocarla da un'altra classe mi da un messaggio di errore.
    E quale messaggio di errore ottieni?
    Come la invochi?

    Senza queste informazioni, che aiuto potremmo mai darti?

    PS: Ho spostato la discussione nel forum Java

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5

    Inviare mail tramite java

    Allora...

    la questione è questa...

    La classe che ho postato serve per l'invio di posta tramite google mail.

    Se la lancio singolarmente funziona benissimo, ma se la chiamo da un'altra classe main in questo modo:

    SendAMail i = new SendAMail();
    i.main();

    ottengo il seguente messaggio di errore:

    method main in class stockmanager.SendAMail cannot be applied to given types required: java.lang.String[]
    found no arguments;

    credo che voglia che gli passi dei parametri ma non so come fare ad invocare la classe SendAMail passandogli i parametri.

    Tutto qui.

    Scusate per il casino.
    Ciao.

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Ed è ovvio: stai cercando di invocare il metodo statico main() (che riceve un array di stringhe), quando sarebbe sufficiente invocare il metodo test() (esattamente come fa il main interno alla classe):

    codice:
    SendAMail i = new SendAMail();
    i.test();
    Che è del tutto equivalente a:

    codice:
    SendAMail.main( null );
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7

    SOLUZIONE

    Sono riuscito a farlo funzionare in questo modo:

    codice:
     
    
          SendAMail i = new SendAMail();
            try {
                i.test();
            } catch (Exception ex) {
                Logger.getLogger(MainStockManager.class.getName()).log(Level.SEVERE, null, ex);
            }
    Altrimenti mi dava un messaggio di errore.

    Il tuo aiuto è stato comunque prezioso.

    Ciao.

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.