Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24

    JavaMail - javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.

    Ciao a tutti, mi sono appena iscritto in questo Forum. Cercavo aiuto riguardo javamail. Vi posto il mio intero codice :

    Codice PHP:
    package it.gestionaledue.util;

    import java.util.Properties;
    import javax.mail.*;
    import javax.mail.internet.*;

    public class 
    MailManager {

        private 
    String to;
        private 
    String from;
        private 
    String subject;
        private 
    String body;
        private 
    String contentType;
        private 
    String userMail "nickname@gmail.com";
        private 
    String passMail "password";
        private 
    String smtpMail "smtp.gmail.com";
        private 
    String timeout "100000";

        
    /**
         * 
         * @param to
         * @param from
         * @param subject
         * @param body
         */
        
    public MailManager(String toString fromString subjectString body) {
            
    this.to to;
            
    this.from from;
            
    this.subject subject;
            
    this.body body;
            
    this.contentType "text/html; charset=ISO-8859-1";
        }

        
    /**
         *
         * @throws MessagingException
         * Metodo per inviare l'email;
         */
        
    public void sendEmail() throws MessagingException {

            
    Properties props System.getProperties();
            
    props.put("mail.smtp.host"smtpMail);
            
    props.put("mail.smtp.auth""true");
            
    props.put("mail.smtp.connectiontimeout"timeout);
            
    props.put("mail.smtp.timeout"timeout);
            
    Session session Session.getInstance(props);
            
    session.setPasswordAuthentication(
                    new 
    URLName("smtp"smtpMail25"INBOX"userMailpassMail), new PasswordAuthentication(userMailpassMail));
            
    Message message = new MimeMessage(session);
            
    InternetAddress from = new InternetAddress(this.from);
            
    InternetAddress to[] = InternetAddress.parse(this.to);
            
    message.setFrom(from);
            
    message.setRecipients(Message.RecipientType.TOto);
            
    message.setSubject(this.subject);
            
    message.setSentDate(new java.util.Date());
            
    message.setText(this.body);
            
    message.setContent(this.bodythis.contentType);
            
    Transport tr session.getTransport("smtp");
            
    tr.connect(smtpMailuserMailpassMail);
            
    message.saveChanges();
            
    tr.sendMessage(messagemessage.getAllRecipients());
            
    tr.close();
        }

    l'eccezione è la seguente:


    javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25;

    Aprendo il prompt dei comandi di windows e digitando:
    telnet smtp.gmail.com 25 mi dice impossibile collegarmi...questo lo da anche con yahoo, aruba etc quindi c'è qualcosa che mi blocca questa porta e non so cosa ne come aprirla. Non ho firewall attivi ne antivirus ...quando faccio queste prove disattivo tutto.

    Sempre su promt dei comandi invece di mettere la porta 25, metto la porta 587 e il messaggio che mi viene stampato è il seguente:

    20 mx.google.com ESMTP k7sm823837wej.26, quindi presumo che con la porta 587 ho via libera...ma quando inserisco questa porta nel codice java, invece di 25...mi dice sempre impossibile collegarsi alla porta 25...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non ho un account gmail, ma da quel che ricordo di altre discussioni già viste, mi pare che gmail non utilizzi la porta SMTP 25 per la posta, ma utilizzi la porta 465 e che richieda un'autenticazione tramite SSL.

    E con una semplice ricerca su questo forum ho trovato questa discussione:
    http://forum.html.it/forum/showthrea...2#post12718242


    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
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    Si avevo già letto che gmail non usa la porta 25...soltanto che quando in questa parte di codice:

    Codice PHP:
    new URLName("smtp"smtpMailport"INBOX"userMailpassMail), new PasswordAuthentication(userMailpassMail)); 
    imposto la variabile intera port con 465 o 578, lui mi lancia sempre l'eccezione che nn riesce a recuperare la porta 25 di smtp.gmail.com

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Prova, molto più semplicemente, ad impostare la porta SMTP al valore che ti interessa, nelle Properties:

    codice:
    props.put("mail.smtp.port", "465");
    Io ho utilizzato questo codice per la spedizione di documenti tramite PEC (che usa SSL):

    codice:
    props.put("mail.smtp.host", "nome server smtp");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "465");
    
    Session session = Session.getDefaultInstance(props, new MySSLAuth(...));
    MySSLAuth è solo una classe che estende Authenticator e che farà l'override del metodo protected getPasswordAuthentication() fornendo utente e password per l'accesso.


    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
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    funziona grazie ^^

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.