import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.Multipart;
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;
public class EmailUtil {
public static void main(String[] args) throws AddressException {
try{
File anexo = new File("anexo.PDF");
InternetAddress[] address = {new InternetAddress("[email removido]")};
sendMail(address, "Alexandre Vieira de Souza <[email removido]>", "usuario", "senha!", "Titulo", "Mensagem do corpo do email", anexo);
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("Finalizado ...");
}
}
public static void sendMail(InternetAddress[] address, String de, String usuario, String senha, String assunto, String mensagem, File anexo) throws Exception {
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
Transport transport = session.getTransport("smtp");
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(de));
message.setSubject(assunto);
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent(mensagem, "text/html; charset=UTF-8");
Multipart mp = new MimeMultipart();
mp.addBodyPart(textPart);
if (anexo != null) {
MimeBodyPart attachFilePart = new MimeBodyPart();
FileDataSource fds = new FileDataSource(anexo);
attachFilePart.setDataHandler(new DataHandler(fds));
attachFilePart.setFileName(fds.getName());
mp.addBodyPart(attachFilePart);
}
message.setSentDate(DateUtils.getDataAtual2());
message.setContent(mp);
message.addRecipients(Message.RecipientType.TO, address);
transport.connect("mail.email.com.br", usuario, senha);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.Session.loadProvidersFromStream(Session.java:928)
at javax.mail.Session.access$000(Session.java:174)
at javax.mail.Session$1.load(Session.java:870)
at javax.mail.Session.loadAllResources(Session.java:1130)
at javax.mail.Session.loadProviders(Session.java:886)
at javax.mail.Session.<init>(Session.java:210)
at javax.mail.Session.getDefaultInstance(Session.java:299)
at javax.mail.Session.getDefaultInstance(Session.java:339)
at br.com.bolao.util.EmailUtil.sendMail(EmailUtil.java:37)
at br.com.bolao.util.EmailUtil.main(EmailUtil.java:26)
Numa outra aplicação rola sem problema, alguem tem alguma ideia do que seja o problema?
Todos os jars necessarios estão no class path
