Probléma aplicação swing

Prezados, estou construindo uma aplicação em java desktop usando swing pra construção da interface gráfica, porém estou com o seguinte impedimento : se eu executar a aplicação pelo netbeans funciona tudo corretamente, todavia se eu exportar(limpar e construir) o jar e tentar executa-lo um dos botões para de funcionar . A classe a seguir implementa a interface ActionListener pra eu poder capturar os eventos nos botões da tela. Essa tela tem dois botões, 1 serve pra enviar um e-mail e o outro pra limpar os campos do formulário. O botão pra limpar os campos funciona normalmente, porém o botão pra enviar o e-mail não funciona. Ele só executa a primeira validação(valida se o campo e-mail está preenchido).
Segue o fonte :

`package br.com.xptodev.controller;

import br.com.xptodev.util.Email;
import br.com.xptodev.view.Index;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;

/**
*

  • @author xpto
    */
    public final class IndexController implements ActionListener {

    private final Index tela;

    public IndexController(Index tela) {
    this.tela = tela;

     limpaCampos();
     addListener();
    

    }

    public void addListener() {

     tela.getBtn_enviar().addActionListener(this);
     tela.getBtn_limpar_campos().addActionListener(this);
    

    }

    public void limpaCampos() {
    tela.getEdit_text_email().setText("");
    tela.getEdit_text_assunto().setText("");
    tela.getEdit_text_qtd().setText("");
    tela.getEdit_text_email().setText("");
    tela.getEdit_text_conteudo().setText("");
    }

    @Override
    public void actionPerformed(ActionEvent e) {

     // Enviar E-MAILs
     if (e.getSource() == tela.getBtn_enviar()) {
    
         int quantidade = 0;
         int controle = 0;
         String remetente;
         String senhaRemetente;
    
         String email = tela.getEdit_text_email().getText();
         String assunto = tela.getEdit_text_assunto().getText();
         String qtd = tela.getEdit_text_qtd().getText();
         String conteudo = tela.getEdit_text_conteudo().getText();
    
         // Campo e-mail vazio
         if (email.equals("")) {
             JOptionPane.showMessageDialog(tela, "Campo e-mail vazio");
             return;
         }
    
         // Campo e-mail invalido            
         if (!Email.emailIsValid(email)) {
             JOptionPane.showMessageDialog(tela, "Campo e-mail iválido");
             return;
         }
    
         // Campo assunto vazio
         if (assunto.equals("")) {
             JOptionPane.showMessageDialog(tela, "Campo assunto vazio");
             return;
         }
    
         // Campo quantidade vazio
         if (qtd.equals("")) {
             JOptionPane.showMessageDialog(tela, "Campo quatidade vazio");
             return;
         }
    
         try {
    
             quantidade = Integer.parseInt(qtd);
    
         } catch (NumberFormatException erro) { // Campo quantidade != int
             JOptionPane.showMessageDialog(tela, "Campo quantidade precisa ser um número");
             return;
         }
    
         // Campo conteudo vazio
         if (conteudo.equals("")) {
             JOptionPane.showMessageDialog(tela, "Campo conteúdo vazio");
             return;
         }
    
         remetente = JOptionPane.showInputDialog(tela, "Digite seu e-mail : ");
         while (!Email.emailIsValid(remetente)) {
             remetente = JOptionPane.showInputDialog(tela, "Digite seu e-mail : ");
         }
    
         senhaRemetente = JOptionPane.showInputDialog(tela, "Digite a senha do seu e-mail :");
         while (senhaRemetente.equals("")) {
             senhaRemetente = JOptionPane.showInputDialog(tela, "Digite a senha do seu e-mail :");
         }
    
         Map<String, String> config = new HashMap<>();
    
         config.put("remetente", remetente);
         config.put("senha", senhaRemetente);
         config.put("destinatario", email);
         config.put("assunto", assunto);
         config.put("conteudo", conteudo);
    
         while (controle < quantidade) {
             Email.enviaEmail(config);
             controle++;
             System.out.println("Enviado " + controle);
         }
     }
    
     // Limpar Campos
     if (e.getSource() == tela.getBtn_limpar_campos()) {
         limpaCampos();
     }
    

    }

}
`
Alguém sabe o que pode ser?
E não é o return desta instrução

`if (email.equals("")) {

     JOptionPane.showMessageDialog(tela, "Campo e-mail vazio");

return;
}`

pois mesmo que não caia nesse if ele não vai pra próxima validação

Qual API vc tá usando?

Pra enviar e-mail?

sim

JavaMail

tenho um pronto, vou te passar o link aí vc vê se funciona pra vc, pode ser?

Blz

https://mega.nz/#!MrBlmRZB!pI6VSAod6h-1Hn8eBbbD-rYt5AH7Ip5b4R9e1npWQpY

Dá uma olhada aí pra ver se funciona pra você! (Os campos são “limpos” quando você clica neles)

E aí, deu certo?! Só tem um campo que eu vi agora que tava “Borda”, mas mudei pra “Porta” que é o correto…