Problema ao tratar erro de envio de email em java

Estou tentando tratar um erro no java(org.apache.commons.mail.EmailException: javax.mail.internet.AddressException: Missing final '@domain' in string ``gpsnet.com.br''
)
porém ele não me permite que eu faça isso, a mensagem que me aparece do java é esta:


Eu ja tentei por AddressException EmailExcpetion e nenhum funciona… Se alguém souber o que eu puder fazer.;

Posta o StackTrace dessa exceção, quem lançou ela?

Posta também o seu código.

out 08, 2020 8:35:54 AM projetoamalfi.business.SendMail send
GRAVE: null
org.apache.commons.mail.EmailException: javax.mail.internet.AddressException: Missing final '@domain' in string ``www.acillajeado.org.br''
	at org.apache.commons.mail.Email.createInternetAddress(Email.java:1974)
	at org.apache.commons.mail.Email.addTo(Email.java:846)
	at org.apache.commons.mail.Email.addTo(Email.java:829)
	at org.apache.commons.mail.Email.addTo(Email.java:778)
	at projetoamalfi.business.SendMail.send(SendMail.java:35)
	at projetoamalfi.view.TelaEmail.bt_enviarActionPerformed(TelaEmail.java:215)
	at projetoamalfi.view.TelaEmail.access$100(TelaEmail.java:24)
	at projetoamalfi.view.TelaEmail$2.actionPerformed(TelaEmail.java:90)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: javax.mail.internet.AddressException: Missing final '@domain' in string ``www.acillajeado.org.br''
	at javax.mail.internet.InternetAddress.checkAddress(InternetAddress.java:1388)
	at javax.mail.internet.InternetAddress.validate(InternetAddress.java:1253)
	at org.apache.commons.mail.Email.createInternetAddress(Email.java:1970)
	... 43 more

 private void bt_enviarActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try {
    SendMail email = new SendMail();
    email.send(arq.getAbsolutePath(),arq.getName(),tf_destino.getText());
    } catch (NullPointerException erro) {
     JOptionPane.showMessageDialog(null, "Favor selecionar um arquivo a ser enviado" +erro);
    }
 }

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package projetoamalfi.business;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;

/**
 *
 * @author Marcelo
 */
public class SendMail {
 public void send(String caminho,String nome_arquivo, String endereco){

 MultiPartEmail email = new MultiPartEmail();
 email.setHostName("smtp.gmail.com");
 email.setSslSmtpPort("465");
 email.setStartTLSRequired(true);
 email.setStartTLSEnabled(true);
 email.setSSLOnConnect(true);
 
 email.setAuthenticator(new DefaultAuthenticator("pedro.darde@universo.univates.br","minhasenha"));
 try{
     email.setFrom("pedro.darde@universo.univates.br");
     email.setSubject(" APRESENTAÇÃO EMPRESA AMALFI " );
     email.setMsg("     ");
     email.addTo(endereco);
     
     EmailAttachment attachament = new EmailAttachment();
     attachament.setPath(caminho);
     attachament.setDisposition(EmailAttachment.ATTACHMENT);
     //attachament.setDescription(desc_arquivo);
     attachament.setName(nome_arquivo);
     
     email.attach(attachament);
     
     email.send();
     JOptionPane.showMessageDialog(null, "O Email foi enviado para " +endereco + " com sucesso" );
 } catch (EmailException ex) {
     Logger.getLogger(SendMail.class.getName()).log(Level.SEVERE, null, ex);
 }
 catch(NullPointerException erro){
     JOptionPane.showMessageDialog(null, "Favor selecionar um arquivo a ser enviado" +erro);
 }
 }   
}

Essas sãos as classes que utilizo, uma é um JButton responsavel pelo envio de emails e a outra é a classe que faz a lógicado envio.

forum

Você tentou tratar o EmailException nesse método:

private void bt_enviarActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try{
        SendMail email = new SendMail();
        email.send(arq.getAbsolutePath(),arq.getName(),tf_destino.getText());
    } catch(NullPointerException erro){
        JOptionPane.showMessageDialog(null, "Favor selecionar um arquivo a ser enviado" +erro);
    } catch(EmailException ee){ // na sua imagem, você estava tentando pôr o catch de EmailException aqui
    }
}

Isso não vai funcionar pois o método send da sua classe SendMail não tem o throws EmailException, aliás, ela já está fazendo o catch de EmailException, veja:

public class SendMail {
    
    public void send(String caminho,String nome_arquivo, String endereco){

        MultiPartEmail email = new MultiPartEmail();
        email.setHostName(“smtp.gmail.com”);
        email.setSslSmtpPort(“465”);
        email.setStartTLSRequired(true);
        email.setStartTLSEnabled(true);
        email.setSSLOnConnect(true);

        email.setAuthenticator(new DefaultAuthenticator(“pedro.darde@universo.univates.br”,“minhasenha”));
        try{
            email.setFrom(“pedro.darde@universo.univates.br”);
            email.setSubject(" APRESENTAÇÃO EMPRESA AMALFI " );
            email.setMsg(" ");
            email.addTo(endereco);

            EmailAttachment attachament = new EmailAttachment();
            attachament.setPath(caminho);
            attachament.setDisposition(EmailAttachment.ATTACHMENT);
            //attachament.setDescription(desc_arquivo);
            attachament.setName(nome_arquivo);

            email.attach(attachament);

            email.send();
            JOptionPane.showMessageDialog(null, "O Email foi enviado para " +endereco + " com sucesso" );
        } catch (EmailException ex) {  // você já está tratando aqui
            Logger.getLogger(SendMail.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(NullPointerException erro){
            JOptionPane.showMessageDialog(null, “Favor selecionar um arquivo a ser enviado” +erro);
        }
    }
}

Se você quer tratar essa exceção fora do método send, reescreva ele da seguinte forma:

public class SendMail {
    
    public void send(String caminho,String nome_arquivo, String endereco) throws EmailException {  // tira o catch e adiciona o throws

        MultiPartEmail email = new MultiPartEmail();
        email.setHostName("smtp.gmail.com");
        email.setSslSmtpPort("465");
        email.setStartTLSRequired(true);
        email.setStartTLSEnabled(true);
        email.setSSLOnConnect(true);

        email.setAuthenticator(new DefaultAuthenticator("pedro.darde@universo.univates.br","minhasenha"));
        try {
            email.setFrom("pedro.darde@universo.univates.br");
            email.setSubject(" APRESENTAÇÃO EMPRESA AMALFI " );
            email.setMsg(" ");
            email.addTo(endereco);

            EmailAttachment attachament = new EmailAttachment();
            attachament.setPath(caminho);
            attachament.setDisposition(EmailAttachment.ATTACHMENT);
            //attachament.setDescription(desc_arquivo);
            attachament.setName(nome_arquivo);

            email.attach(attachament);

            email.send();
            JOptionPane.showMessageDialog(null, "O Email foi enviado para " + endereco + " com sucesso" );
        } catch (NullPointerException erro) { // sacanagem tratar NPE, deveria validar os parâmetros e lançar exceção se não são válidos
            JOptionPane.showMessageDialog(null, "Favor selecionar um arquivo a ser enviado" + erro); // aqui é lugar de mostrar um JOptionPane?
        }
    }
}

o throws não seria no método ?

Sim, eu havia feito ctrl + c, ctrl + v no lugar errado.
Já arrumei o post.

public void send(String caminho,String nome_arquivo, String endereco) throws EmailException,AddressException{

 MultiPartEmail email = new MultiPartEmail();
 email.setHostName("smtp.gmail.com");
 email.setSslSmtpPort("465");
 email.setStartTLSRequired(true);
 email.setStartTLSEnabled(true);
 email.setSSLOnConnect(true);
 
 email.setAuthenticator(new DefaultAuthenticator("pedro.darde@universo.univates.br","Pedrobala123"));

     email.setFrom("pedro.darde@universo.univates.br");
     email.setSubject(" APRESENTAÇÃO EMPRESA AMALFI " );
     email.setMsg("     ");
     email.addTo(endereco);
     
     EmailAttachment attachament = new EmailAttachment();
     attachament.setPath(caminho);
     attachament.setDisposition(EmailAttachment.ATTACHMENT);
     //attachament.setDescription(desc_arquivo);
     attachament.setName(nome_arquivo);
     
     email.attach(attachament);
     
     email.send();
     JOptionPane.showMessageDialog(null, "O Email foi enviado para " +endereco + " com sucesso" );




private void bt_enviarActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try{
    SendMail email = new SendMail();
        try {
            email.send(arq.getAbsolutePath(),arq.getName(),tf_destino.getText());
        } catch (EmailException | AddressException ex ) {
            Logger.getLogger(TelaEmail.class.getName()).log(Level.SEVERE, null, ex);
        }
    }catch(NullPointerException erro){
     JOptionPane.showMessageDialog(null, "Favor selecionar um arquivo a ser enviado" +erro);
 }
}  

Ta ai o meu codigo mudei como tu comentou mas o mesmo erro continua… a mesma mensagem da de cima