Bom dia Pessoal,
Estou com problema no envio de Emails, tudo está configurado corretamente, ele envia o Email, mas o anexo (.pdf) no Email fica com o nome do diretório onde foi salvo o arquivo + o nome do arquivo. Outro problema é que a mensagem informada no JTextPane não aparece no Email.
Esse é o código que estou utilizando...
package Utilitários;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.JOptionPane;
public class Email
{
Properties p = new Properties();
Session session = Session.getInstance(p, null);
MimeMultipart mp = new MimeMultipart();
//passagem de parâmetros com dados fornecidos pelo usuário
public Email(String caminho, String remetente, String destino, String titulo, String mensagem)
{
try
{
p.put("mail.smtp.host", "smtp.meu-web-mail.com.br"); //no meu-web-mail fica o nome do email da empresa
MimeMessage msg = new MimeMessage(session);
// avalia se o email existe com o internet adress
msg.setFrom(new InternetAddress(remetente)); //quem envia
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(destino)); //quem recebe
//data atual
msg.setSentDate(new Date());
//titulo do email
msg.setSubject(titulo);
//mensagem de email
msg.setText(mensagem);
msg.setContent(mp);
FileDataSource ds = new FileDataSource(caminho);
MimeBodyPart mbp = new MimeBodyPart();
mbp.setDataHandler( new DataHandler(ds) );
mbp.setFileName(caminho);
mp.addBodyPart(mbp);
// enviando mensagem (tentando)
System.out.println("Enviando mensagem...");
Transport.send(msg);
System.out.println("Mensagem enviada com sucesso!");
JOptionPane.showMessageDialog(null,"Mensagem enviada com sucesso!");
}
catch (AddressException e)
{
JOptionPane.showMessageDialog(null,"Endereço de Email não é valido!");
e.printStackTrace();
}
catch (MessagingException e)
{
JOptionPane.showMessageDialog(null,"Mensagem de Email não foi criada!");
e.printStackTrace();
}
}
}
Se alguém sabe o que pode estar acontecendo...
Aguardo uma resposta...
Obrigada!