Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107

    [ JAVA ] Sapete drimi perchè questo errore?

    Salve a tutti
    Ho una domanda da fare; date uno sguardo a questa classe:

    package com.angelo.send;

    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: Angelo
    * @version 1.0
    */
    public class SendEMail {

    /**
    * 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;


    /**
    * Costruttore della classe che setta, nelle properties, l'smtp utilizzato
    * @param po -l'smtp utilizzato per inviare il messaggio
    */
    public SendEMail( String po ) {

    pro = System.getProperties();
    pro.put( "mail.smtp.host", po );
    }

    /**
    * Metodo che si occupa di settare la sessione
    */
    private void setSessione(){

    sessione = Session.getDefaultInstance( pro );
    }

    /**
    * 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);

    if( autoritation ){

    String log = "xxxxxxx";
    String psw = "xxxxxxx";
    t.connect( host, log, psw );
    }else{

    t.connect();
    }

    t.send( messaggio );
    t.close();
    }catch( AddressException ae ){

    ae.printStackTrace();
    }catch( MessagingException me ){

    me.printStackTrace();
    }
    }

    public static void main( String[] args ){


    SendEMail se = new SendEMail( mySMTPHost );
    se.sendMessaggio( "pincopallino@pinco.it", "mmmmmmmmmmmm", "ola", "ollllalala", true );
    }
    }


    Volevo chiedervi... se il mio host smtp non richiede l'autorizzazione per inviare la mail, la mail viene inviata e tutto va bene ( infatti ho provato con l'host di tin.it ); al contrario se il mio host richiede l'autorizzazione, sebbene ponga a true il booleano e gli passi username e password corrette e gli faccia fare la connessione in maniera corretta, mi va in eccezione dicendo:

    javax.mail.SendFailedException: Sending failed;
    nested exception is:
    javax.mail.SendFailedException: Invalid Addresses;
    nested exception is:
    javax.mail.SendFailedException: 503 This mail server requires authentication. Please check your mail client settings.
    at javax.mail.Transport.send0(Transport.java:219)
    at javax.mail.Transport.send(Transport.java:81)
    at com.angelo.send.SendEMail.sendMessaggio(SendEMail. java:106)
    at com.angelo.send.SendEMail.main(SendEMail.java:121)


    Qualcuno sa dirmi perchè? Inoltre se rimanessi nello stesso dominio ( ad esempio da pinco@prova.it a prova@prova.it ) tutto va bene... non riesco a capire.. a meno che non ci sia un cambio di porta per uscire fuori dal dominio.
    Grazie a tutti, scusate la poca chiarezza del messaggio ma è venerdì e lo sento molto
    Ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Up!!
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

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.