Ok segue meu codigo para anelize....
/*
* jdPrincipal.java
* Created on 16/03/2011, 16:05:36
*
*/
package sbenviapedidos;
//import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor.SetterOnlyReflection;
// import java.awt.CardLayout;
// import java.awt.Color;
// import java.awt.Dimension;
// import java.io.File;
//import com.sun.xml.internal.messaging.saaj.util.TeeInputStream;
// import java.awt.Color;
// import java.awt.Component;
// import java.awt.ComponentOrientation;
// import java.awt.Dimension;
// import java.awt.Toolkit;
import java.util.Date;
// import java.util.Properties;
// import java.util.logging.Level;
// import java.util.logging.Logger;
// import javax.mail.Authenticator;
// import javax.mail.Message;
// import javax.mail.MessagingException;
// import javax.mail.PasswordAuthentication;
// import javax.mail.Session;
// import javax.mail.Transport;
// import javax.mail.internet.AddressException;
// import javax.mail.internet.MimeMessage;
// import javax.mail.internet.InternetAddress;
import java.net.Socket.*;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.swing.JOptionPane;
// import javax.swing.UIManager;
// import sun.swing.UIAction;
import javax.swing.JOptionPane.*;
import javax.swing.JLabel.*;
// import javax.swing.JProgressBar;
import java.lang.String.*;
// import javax.swing.JDialog;
// import javax.swing.JFrame;
// import javax.swing.JLabel;
// import javax.swing.JProgressBar;
import javax.swing.SwingWorker;
// import javax.swing.UIManager.LookAndFeelInfo;
import java.util.Scanner;
import java.io.File;
// import java.io.FileNotFoundException;
// import java.lang.IllegalStateException;
// import java.util.NoSuchElementException;
/**
*
* @author MarcosAngelo
*/
public class jdPrincipal extends javax.swing.JDialog {
/** Creates new form jdPrincipal */
public jdPrincipal(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}
private Scanner entrada;
String nome[] = new String[100];
String email[] = new String[100];
int codvendedor = -1;
String assunto = "";
String corpo = "";
String remetente = "";
String destinatario = "";
String pedido = "";
int nomevalido = 0; // 0 == invalido e 1 == valido;
int arquivo = 0; // 0 == invalido e 1 == valido;
int envio = 0; // 0 == invalido e 1 == valido;
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
bgEmpresas = new javax.swing.ButtonGroup();
jLabel1 = new javax.swing.JLabel();
jPanel1 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jtVendedor = new javax.swing.JTextField();
fcPedidos = new javax.swing.JFileChooser();
jPanel2 = new javax.swing.JPanel();
jlStatusVendedor = new javax.swing.JLabel();
jlStatusPedido = new javax.swing.JLabel();
jlStatusEnviado = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jlEnviando = new javax.swing.JLabel();
jpEmpresas = new javax.swing.JPanel();
jpEmpresas.setVisible(false);
rbTripa = new javax.swing.JRadioButton();
rbAlaska = new javax.swing.JRadioButton();
jpEnviandoEmail = new javax.swing.JPanel();
jlEnviandoEmail = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Soft Builder LTDA.");
setIconImage(null);
setName("Soft Builder LTDA."); // NOI18N
setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowActivated(java.awt.event.WindowEvent evt) {
formWindowActivated(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel1.setText("Software Builder Envio de Pedidos Eletronicos");
jPanel1.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
jPanel1.setLayout(null);
jPanel1.add(jLabel3);
jLabel3.setBounds(836, 215, 131, 21);
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setText("Nome Vendedor:");
jPanel1.add(jLabel2);
jLabel2.setBounds(20, 420, 131, 20);
jtVendedor.setEditable(false);
jtVendedor.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jtVendedor.setForeground(new java.awt.Color(0, 0, 204));
jPanel1.add(jtVendedor);
jtVendedor.setBounds(150, 420, 186, 20);
fcPedidos.setCurrentDirectory(new java.io.File("C:\\Pedidos"));
fcPedidos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
fcPedidosActionPerformed(evt);
}
});
jPanel1.add(fcPedidos);
fcPedidos.setBounds(10, 10, 570, 380);
jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder(java.awt.Color.lightGray, java.awt.Color.darkGray));
jPanel2.setLayout(null);
jlStatusVendedor.setFont(new java.awt.Font("Tahoma", 1, 12));
jlStatusVendedor.setForeground(new java.awt.Color(0, 0, 204));
jlStatusVendedor.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlStatusVendedor.setText("VENDEDOR");
jPanel2.add(jlStatusVendedor);
jlStatusVendedor.setBounds(12, 13, 122, 15);
jlStatusPedido.setFont(new java.awt.Font("Tahoma", 1, 12));
jlStatusPedido.setForeground(new java.awt.Color(0, 0, 204));
jlStatusPedido.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlStatusPedido.setText("PEDIDO");
jPanel2.add(jlStatusPedido);
jlStatusPedido.setBounds(12, 34, 122, 15);
jlStatusEnviado.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jlStatusEnviado.setForeground(new java.awt.Color(0, 0, 204));
jlStatusEnviado.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlStatusEnviado.setText("ENVIADO");
jPanel2.add(jlStatusEnviado);
jlStatusEnviado.setBounds(12, 55, 122, 15);
jButton1.setText("Enviar Pedidos");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel2.add(jButton1);
jButton1.setBounds(12, 76, 120, 23);
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Legenda de Status", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(51, 51, 51))); // NOI18N
jPanel3.setForeground(new java.awt.Color(51, 51, 51));
jLabel7.setForeground(new java.awt.Color(0, 0, 204));
jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel7.setText("STATUS NORMAL");
jLabel8.setForeground(new java.awt.Color(51, 204, 0));
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel8.setText("STATUS OK");
jLabel9.setForeground(new java.awt.Color(255, 0, 0));
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel9.setText("STATUS IRREGULAR");
jlEnviando.setForeground(new java.awt.Color(204, 204, 0));
jlEnviando.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jlEnviando.setText("STATUS ENVIANDO");
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE)
.addComponent(jLabel7, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE)
.addComponent(jLabel9, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE)
.addComponent(jlEnviando, javax.swing.GroupLayout.DEFAULT_SIZE, 110, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jlEnviando))
);
jPanel2.add(jPanel3);
jPanel3.setBounds(12, 105, 122, 110);
jpEmpresas.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Empresas Vasco", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(51, 51, 51))); // NOI18N
bgEmpresas.add(rbTripa);
rbTripa.setSelected(true);
rbTripa.setText("TRIPAGEL");
bgEmpresas.add(rbAlaska);
rbAlaska.setText("ALASKA");
javax.swing.GroupLayout jpEmpresasLayout = new javax.swing.GroupLayout(jpEmpresas);
jpEmpresas.setLayout(jpEmpresasLayout);
jpEmpresasLayout.setHorizontalGroup(
jpEmpresasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jpEmpresasLayout.createSequentialGroup()
.addGroup(jpEmpresasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(rbAlaska, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(rbTripa, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(37, Short.MAX_VALUE))
);
jpEmpresasLayout.setVerticalGroup(
jpEmpresasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jpEmpresasLayout.createSequentialGroup()
.addComponent(rbTripa)
.addGap(18, 18, 18)
.addComponent(rbAlaska)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2.add(jpEmpresas);
jpEmpresas.setBounds(12, 215, 122, 98);
jPanel1.add(jPanel2);
jPanel2.setBounds(590, 10, 150, 323);
jpEnviandoEmail.setName("jpEnviandoEmail"); // NOI18N
jpEnviandoEmail.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jlEnviandoEmail.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jlEnviandoEmail.setForeground(new java.awt.Color(0, 0, 204));
jlEnviandoEmail.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
jlEnviandoEmail.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/enviando email.gif"))); // NOI18N
jlEnviandoEmail.setText(" ENVIANDO EMAIL...... AGUARDE!");
jlEnviandoEmail.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
jpEnviandoEmail.add(jlEnviandoEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 380, 70));
jPanel1.add(jpEnviandoEmail);
jpEnviandoEmail.setBounds(360, 400, 380, 70);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(184, 184, 184)
.addComponent(jLabel1))
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 757, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 480, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jpEnviandoEmail.setVisible(true);
jpEnviandoEmail.repaint();
jpEnviandoEmail.validate();
jPanel1.repaint();
jPanel1.validate();
new MyTask().execute();
}
private void fcPedidosActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
pedido = fcPedidos.getSelectedFile().getPath();
jlStatusEnviado.setForeground(jLabel9.getForeground());
verificapedido();
if (arquivo != 0)
jlStatusPedido.setForeground(jLabel8.getForeground());
if (arquivo == 0)
jlStatusPedido.setForeground(jLabel9.getForeground());
}
private void formWindowActivated(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
jpEmpresas.setVisible(false);
verificavendedor();
if (codvendedor > -1)
jlStatusVendedor.setForeground(jLabel8.getForeground());
else
jlStatusVendedor.setForeground(jLabel9.getForeground());
if (codvendedor == 1)
jpEmpresas.setVisible(true);
jpEnviandoEmail.setVisible(false);
jtVendedor.setEditable(false);
jtVendedor.setText(nome[codvendedor].toUpperCase());
jtVendedor.repaint();
}
private class MyTask extends SwingWorker<Void, Void> {
@Override
protected Void doInBackground() throws Exception {
enviaemail();
// a Thread dorme um pouco
try {
Thread.sleep(20);
} catch (InterruptedException ex) {
}
return null;
}
@Override
protected void done() {
// quando completar, faz o que deve aqui
JOptionPane.showMessageDialog(null,"Pedido enviado com sucesso!","Pedido Enviado", 1);
}
}
public String learquivo(){
String record = "";
try {
entrada = new Scanner(new File("C:\\SBGerente\\Tripagel\\SBGerente.ini"));
while(entrada.hasNext())
{
record = entrada.next();
}
return record.substring(14);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
return record = "";
}
}
public void verificavendedor(){
nome[0] = "marcos angelo";
nome[7] = "antonio barros";
nome[9] = "valtencir ferreira";
nome[2] = "saulo otoni";
nome[6] = "jose carlos";
nome[1] = "vasco bento";//PEGANDO O NOME DO VENDEDOR PARA CAPITURAR O EMAIL E SENHA, COMO SE FOSSE UMA LOGIN, PARA QUE OS VENDEDORES
nome[24] = "jean roza";// NAO PRECISEM DE INFORMAR EMAIL E SENHA.
nome[12] = "luiz rocha";
nome[13] = "eliacir souza";
nome[3] = "gilterney alves";
nome[10] = "manoel neto";
nome[29] = "paulo junior";
codvendedor = Integer.parseInt(learquivo());
jtVendedor.setText((nome[codvendedor].toUpperCase()));
}
public void verificapedido(){
arquivo = 0;
if (!pedido.equalsIgnoreCase(""))
arquivo = 1;
}
public void enviaemail(){
jlEnviandoEmail.validate();
jlStatusEnviado.setForeground(jlEnviando.getForeground());
/*********************************************************************************************************************************/
if (jLabel2.getText().equalsIgnoreCase(""))
JOptionPane.showMessageDialog(null,"Vendedor nao cadastrado!","Atenção!",1);
/*********************************************************************************************************************************/
/*************************EMAIL'S*************************/
email[0] = "[email removido]";
email[7] = "[email removido]";
email[9] = "[email removido]";
email[2] = "[email removido]";
email[6] = "[email removido]";
email[1] = "[email removido]";
email[24] = "[email removido]";
email[12] = "[email removido]";
email[13] = "[email removido]";
email[3] = "[email removido]";
email[10] = "[email removido]";
email[29] = "[email removido]";
codvendedor = Integer.parseInt(learquivo());
/*********************************************************************************************************************************/
/*********************************************************************************************************************************/
final String vendedor1 = "[email removido]";
final String senhavendedor1 = "19982004";
Properties propriedades = new Properties();
propriedades.put("mail.smtp.auth", "true");
propriedades.put("mail.smtp.port", "465");
propriedades.put("mail.host", "smtp.gmail.com");
propriedades.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
propriedades.put("mail.smtp.socketFactory.fallback", "false");
Authenticator autenticador = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(vendedor1,senhavendedor1);
}
};
Session session = Session.getInstance(propriedades, autenticador);
MimeMessage mensagem = new MimeMessage(session);
try {
assunto = "Pedidos";
corpo = "Segue em anexo Pedidos do vendedor: " + nome[codvendedor];
remetente = "<"+email[codvendedor]+">";
if (codvendedor == 5 && rbTripa.isSelected())
destinatario = "<[email removido]>";
else
if (codvendedor == 5 && rbAlaska.isSelected())
destinatario = "<[email removido]>";
else
if (codvendedor != 5)
destinatario = "<[email removido]>";
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(corpo);
mbp1.setHeader("Content-Transfer-Encoding", "base64");
MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource(pedido);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
Multipart mp = new MimeMultipart("related");
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);
jlStatusEnviado.setForeground(jlEnviando.getForeground());
// Agora só é preciso adicionar estas informações na mensagem.
mensagem.setFrom(new InternetAddress(remetente));
mensagem.setRecipient(Message.RecipientType.TO, new InternetAddress(destinatario));
mensagem.setSentDate(new Date());
mensagem.setSubject(assunto);
mensagem.setContent(mp, "text/plain");
jpEnviandoEmail.validate();
Transport.send(mensagem);
jlStatusEnviado.setForeground(jLabel8.getForeground());
}
catch (AddressException e) {
System.out.println(e.getMessage());
jlStatusEnviado.setForeground(jLabel9.getForeground());
JOptionPane.showMessageDialog(null, "Erro no email, por favor entre em contato com o suporte!", e.getMessage(), 2);
}
catch (MessagingException e) {
System.out.println(e.getMessage());
jlStatusEnviado.setForeground(jLabel9.getForeground());
JOptionPane.showMessageDialog(null, "Erro durante a transmição do Email, por favor entre em contato com o suporte!", e.getMessage(), 2);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
jdPrincipal dialog = new jdPrincipal(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.ButtonGroup bgEmpresas;
private javax.swing.JFileChooser fcPedidos;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JLabel jlEnviando;
private javax.swing.JLabel jlEnviandoEmail;
private javax.swing.JLabel jlStatusEnviado;
private javax.swing.JLabel jlStatusPedido;
private javax.swing.JLabel jlStatusVendedor;
private javax.swing.JPanel jpEmpresas;
private javax.swing.JPanel jpEnviandoEmail;
private javax.swing.JTextField jtVendedor;
private javax.swing.JRadioButton rbAlaska;
private javax.swing.JRadioButton rbTripa;
// End of variables declaration
}