Enviando e-mail com anexo

Veja como é simples enviar e-mails com arquivos em anexo.

Enviando e-mail com anexo

JavaMail API fornece classes para enviar o e-mail junto com o anexo respeitando as políticas de envio de e-mail, seus protocolos e o formato da mensagem.

O Exemplo abaixo mostra como enviar um e-mail com um arquivo em anexo.

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class sendfile 
{

public static void main(String[] args) 
{
  if (args.length != 5
  {
System.out.println("usage: java sendfile <to> <from> <smtp> <file>");
System.exit(1);
  }

  String to = args[0];
  String from = args[1];
  String host = args[2];
  String filename = args[3];
  String msgText1 = "Enviando arquivo.\n";
  String subject = "Enviando arquivo";
  
  // cria algumas propriedades e obtem uma sessao padrao
  Properties props = System.getProperties();
  props.put("mail.smtp.host", host);
  
  Session session = Session.getInstance(props, null);

  try 
  {
// cria a mensagem
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(subject);

// cria a primeira parte da mensagem
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setText(msgText1);

// cria a segunda parte da mensage
MimeBodyPart mbp2 = new MimeBodyPart();

// anexa o arquivo na mensagem
FileDataSource fds = new FileDataSource(filename);
mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());

// cria a Multipart
Multipart mp = new MimeMultipart();
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);

// adiciona a Multipart na mensagem
msg.setContent(mp);

// configura a data: cabecalho
msg.setSentDate(new Date());

// envia a mensagem
Transport.send(msg);

  
  catch (MessagingException mex) 
  {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}
  }
}

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados