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

    JavaMail con Autenticazione

    Buonasera,
    sto cercando di creare un form che invii una mail utilizzando JavaMail.
    Sono riuscito a farlo funzionare con un server che non richiede autenticazione, ma adesso che mi serve inviare la mail con Gmail non funziona.
    Prima di scrivere qui ho cercato su mille siti e provato tutti gli esempi che ci sono online, ma nessuno ha funzionato. Il problema è che non mi esce nessun errore.

    Vi posto il mio codice completo, è un file .jsp. Grazie anticipatamente.

    codice:
    <%@ page import = " javax.mail.*" %>
    <%@ page import = " java.util.*" %>
    <%@ page import = " javax.mail.internet.*" %>
    <%@ page import = " javax.activation.*" %>
    
    
    <%!
    public class SMTPAuthenticator extends Authenticator
    {
       protected String username;
       protected String password;
    
    
       public SMTPAuthenticator(String username, String password)
       {
           this.username = username;
           this.password = password;
       }
    
    
       @Override
       protected PasswordAuthentication getPasswordAuthentication()
       {
           return new PasswordAuthentication(this.username, this.password);
       }
    }
    
    
    public class javamaildemo {
        String from = "mittente@gmail.com";
        String to = "destinatario@gmail.com";
        String subject = "Password Recovery";
        String bodyText = "messaggiooo";
        
        public javamaildemo() {
            try {
                
                Properties props = new Properties();
                props.put("mail.smtp.host", "smtp.gmail.com");
                props.put("mail.smtp.auth", "true");
                props.put("mail.debug", "true");
                props.put("mail.smtp.port", "465");
                props.put("mail.smtp.socketFactory.port", "465");
                props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
                props.put("mail.smtp.socketFactory.fallback", "false");
                
                Authenticator auth = new SMTPAuthenticator("mittente@gmail.com", "Password");
                 
                Session session = Session.getInstance(props,auth);
                session.setDebug(true);
                
                MimeMessage message = new MimeMessage(session);
                message.setFrom(new InternetAddress(from));
                message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
                message.setSubject(subject);
                message.setSentDate(new Date());
                
                //
                // Set the email message text.
                //
                MimeBodyPart messagePart = new MimeBodyPart();
                messagePart.setText(bodyText);
                            
                Multipart multipart = new MimeMultipart();
                multipart.addBodyPart(messagePart);
                // multipart.addBodyPart(attachmentPart);
                
                message.setContent(multipart);
                
                Transport.send(message);
    
    
            } catch (MessagingException e) {
                e.printStackTrace();
            }
        }
    } 
    
    
    %>
    
    
    <%
        
        javamaildemo mjm = new javamaildemo();
            
    %>
    Ultima modifica di LeleFT; 15-05-2015 a 11:58 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E' una JSP (e già qui ci sarebbero delle considerazioni sul perchè una roba del genere NON andrebbe fatta in una JSP), quindi si tratta di una WebApplication.

    Eventuali errori (non posso immaginare che non ve ne siano se la mail non viene inviata) li trovi nei log di Tomcat (o del tuo Servlet Container)... di sicuro non a video.

    Verifica sui log se vi sono degli errori.

    Ad una prima (veloce) occhiata, non mi sembra di vederne, dal punto di vista del codice.


    PS1: inutile (e vietato dal regolamento interno) scrivere "HELP" o roba simile nei titoli... se apri una discussione è già ovvio a tutti che cerchi aiuto.

    PS2: Il codice va postato all'interno degli appositi tag CODE, in modo da mantenerne indentazione e formattazione: [CODE] ... [/CODE]


    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

  3. #3
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    E' una JSP (e già qui ci sarebbero delle considerazioni sul perchè una roba del genere NON andrebbe fatta in una JSP), quindi si tratta di una WebApplication.

    Eventuali errori (non posso immaginare che non ve ne siano se la mail non viene inviata) li trovi nei log di Tomcat (o del tuo Servlet Container)... di sicuro non a video.

    Verifica sui log se vi sono degli errori.

    Ad una prima (veloce) occhiata, non mi sembra di vederne, dal punto di vista del codice.


    PS1: inutile (e vietato dal regolamento interno) scrivere "HELP" o roba simile nei titoli... se apri una discussione è già ovvio a tutti che cerchi aiuto.

    PS2: Il codice va postato all'interno degli appositi tag CODE, in modo da mantenerne indentazione e formattazione:
    codice:
     ...

    Ciao.
    Ciao,
    intanto grazie per la risposta e scusa per come ho copiato il codice e per il titolo del post.

    Sono un programmatore e quindi so muovermi abbastanza bene ( lo dico solo perchè almeno sapete che potete parlarmi anche in linguaggio da programmatore )

    I log non danno niente, zero di zero. E' per questo che non so dove sbattere la testa. Ho provato una miriade di codici ma con gmail non mi funziona.
    Purtroppo lo devo fare in java e non in php. Comunque si uso tomcat 6, jdk 1.6.

    Se provate a copiare il mio codice così com'è a voi funziona? Giusto per capire se è un mio problema oppure un problema del codice.

    Grazie

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Provato ora.
    Mail inviata senza problemi.
    Ovviamente, dopo aver opportunamente modificato i parametri (utente e password) e gli indirizzi (mittente e destinatario).


    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
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Provato ora.
    Mail inviata senza problemi.
    Ovviamente, dopo aver opportunamente modificato i parametri (utente e password) e gli indirizzi (mittente e destinatario).


    Ciao.
    Non capisco come sia possibile.
    l'hai provato su Tomcat??
    Non è che per caso ho qualche settaggio di gmail che interferisce con l'invio della mail?

  6. #6
    Quote Originariamente inviata da alfiuzzi Visualizza il messaggio
    Non capisco come sia possibile.
    l'hai provato su Tomcat??
    Non è che per caso ho qualche settaggio di gmail che interferisce con l'invio della mail?
    Sono riuscito ad inviare la mail, ma ho dovuto disattivare l'antivirus che è AVAST.

    Sai come posso fare per permettere l'invio senza dover disattivare l'antivirus??
    Ho scoperto che basta che deseleziono la spunta alla voce "Protezione Mail -> Scansione SSL -> Analizza le connessioni SSL" e la mail viene spedita.

    Grazie mille
    Ultima modifica di alfiuzzi; 16-05-2015 a 00:11

Tag per questa discussione

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.