Olá pessoa,
Estou com o seguinte problema com o código abaixo: Consigo enviar a mensagem de email, mas o anexo não está sendo enviado (Estou testando no NetBeans). Agradeço desde já qualquer ajuda.
[quote]package br.com.wf7.modelo;
import java.util.Properties;
import javax.activation.CommandMap;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.activation.MailcapCommandMap;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
public class SendMail {
private String host = "smtp.com.br"; /* endereço do servidor smtp */
public class SMTPAuthenticator extends Authenticator {
@Override
public PasswordAuthentication getPasswordAuthentication() {
String username = "teste@teste.com.br";
String password = "******";
return new PasswordAuthentication(username, password);
}
}
public void EnviarEmailPara(String para, String assunto, String mensagem) throws Exception {
String from = "teste@unicursoscampinas.com.br";
String fileAttachment = "C:/teste.txt";
Properties mailProps = System.getProperties();
mailProps.put("mail.smtp.host", this.host);
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getDefaultInstance(mailProps, auth);
mailProps.put("mail.smtp.auth", "true");//Deixe true para enviar email autenticado
mailProps.put("mail.debug", "true");
mailProps.put("mail.smtp.debug", "true");
mailProps.put("mail.mime.charset", "ISO-8859-1");
mailProps.put("mail.smtp.port", "25");
MailcapCommandMap mc = (MailcapCommandMap)CommandMap.getDefaultCommandMap();
mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html");
mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml");
mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain");
mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed");
mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822");
CommandMap.setDefaultCommandMap(mc);
// Definir mensagem
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(para));
message.setSubject(assunto);
// Criar parte da mensagem
MimeBodyPart messageBodyPart = new MimeBodyPart();
// Texto da mensagem
messageBodyPart.setText(mensagem);
// Criar parte de arquivo anexado
MimeBodyPart messageBodyPart2 = new MimeBodyPart();
FileDataSource source = new FileDataSource(fileAttachment);
messageBodyPart2.setDataHandler(new DataHandler(source));
messageBodyPart2.setFileName("teste");
// cria a Multipart
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
multipart.addBodyPart(messageBodyPart2);//Adiciona anexo
// Enviar parte da mensagem
message.setContent(multipart);
message.setContent(mensagem.toString(), "text/html");
// Enviar toda a mensagemSend the message
Transport.send(message);
}
}[/quote]