estou utilizando javamail e encontrando alguns problemas:
Unknown SMTP host: smtp.bhz.terra.com.br
mas quando dá um erro, como faço para destruir a instancia da classe, pois mesmo se alterar o smtp, ele traz o mesmo, como se estivesse na memória, deve reiniciar a máquina para limpar, como faço isso via código
;
....
Email enviapedido = null;
....
Email enviapedido = new Email();
enviapedido.sendSimpleMail(txtsmtp.getText(),txtassunto.getText(),
txtpara.getText(),txtusuario.getText(),txtmsg.getText(),
filenamea.toString(),filenameb.toString());
JOptionPane.showMessageDialog( null,
"Pedido Enviado com Sucesso.Aguarde Confirmação",
"Mensagem",
JOptionPane.INFORMATION_MESSAGE);
setVisible(false);
.....
}catch(Exception e){
JOptionPane.showMessageDialog( null,
e.getMessage(),
"Atenção",
JOptionPane.ERROR_MESSAGE);
// destuir a instancia da classe Email()
?????????????
//
setVisible(false);
}
classe Email:
public class Email {
Connection conn;
Statement st = null;
ResultSet rs = null;
String expression = "";
public class SMTPAuthenticator extends Authenticator {
private String usuario;
private String senha;
public PasswordAuthentication getPasswordAuthentication() {
//Carrega Parametros para Autenticação
ParametrosVo paramvo=null;
try{
paramvo = new LeParametros();
}catch(Exception e){
}
usuario=paramvo.getUsuario();
senha=paramvo.getSenha();
//
String username = usuario;
String password = senha;
return new PasswordAuthentication(username, password);
}
}
public void sendSimpleMail(
String mailServer,
String subject,
String to,
String from,
String mensagem, String fileName, String fileNameb)
throws AddressException, MessagingException, Exception {
Properties mailProps = new Properties();
mailProps.put("mail.smtp.host", mailServer);
Authenticator auth = new SMTPAuthenticator();
Session mailSession = Session.getDefaultInstance(mailProps, auth);
mailProps.put("mail.smtp.auth", "true");
InternetAddress destinatario = new InternetAddress(to);
InternetAddress remetente = new InternetAddress(from);
Message message = new MimeMessage(mailSession);
//Definição de quem está enviando o email
message.setFrom(remetente);
message.setRecipient(Message.RecipientType.TO, destinatario);
message.setSubject(subject);
message.setSentDate(new Date());
MimeBodyPart m = new MimeBodyPart();
String msg = mensagem;
m.setText(msg);
//Atacha Arquivo A
MimeBodyPart attachFilePart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(fileName);
attachFilePart.setDataHandler(new DataHandler(fds));
attachFilePart.setFileName(fds.getName());
//Atacha Arquivo B
MimeBodyPart attachFilePartb = new MimeBodyPart();
FileDataSource fdsb = new FileDataSource(fileNameb);
attachFilePartb.setDataHandler(new DataHandler(fdsb));
attachFilePartb.setFileName(fdsb.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(m);
mp.addBodyPart(attachFilePart);
mp.addBodyPart(attachFilePartb);
message.setContent(mp);
Transport.send(message);
......