Un programa para automatizar los envíos de correos de mas de 10 megas, tan molestos que nos obligan a estar delante del ordenador durante un rato enviando cada parte.
public void enviarCorreo(String nombre, int i)
{
try
{
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.star
ttls.enable", "true");
props.setProperty("mail.smtp.port","587");
props.setProperty("mail.smtp.user", "
XXXXXXXx@gmail.com");
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDef
aultInstance(props, null);
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
BodyPart texto = new MimeBodyPart();
// Quien envia el correo
message.setFrom(new InternetAddres
s("Remitente"));
// A quien va dirigido
message.addRecipient(Message.Recipi
entType.TO, new InternetAddres
s("Destino"));
texto.setText("Aquí lo tienes.");
BodyPart adjunto = new MimeBodyPart();
// Cargamos la imagen
StringBuffer sbuf=new StringBuffer("C:/pruebas/chistes.part");
sbuf.append(nombre);
adjunto.setDataHandler(new DataHandler(new FileDataSource(new String(sbuf))));
// Opcional. De esta forma transmitimos al receptor el nombre original del
// fichero de imagen.
adjunto.setFileName(nombre);
MimeMultipart multiParte = new MimeMultipart();
multiParte.addBodyPart(texto);
multiParte.addBodyPart(adjunto);
message.setSubject("Asunto");
message.setContent(multiParte);
Transport t = session.getTra
nsport("smtp");
t.connect("
pepe@pepe.com","PASSWORD");
t.sendMessage(message,message.getAllRecipients());
t.close();
}
catch (MessagingExcep
tion eme)
{
eme.printStackTrace();
}
}
/**
* Clase para meter los ficheros de salida y sus streams
* @author Marius
*
*/
public class ObjetoCopia
{
FileOutputStream fileout;
BufferedOutputStream bufferedout;
public ObjetoCopia(FileOutputStre
am fileout,BufferedOutputStream bufferedout)
{
this.fileout=fileout;
this.bufferedout=bufferedout;
}
}
public static void main (String args[] )
{
Interfaz fax=new Interfaz();
StringBuffer sbuf=new StringBuffer();
for (int i=1;i<=11;i++)
{
if (i>9)
{
sbuf.append(i);
sbuf.append(".rar");
}
else
{
sbuf.append("0");
sbuf.append(i);
sbuf.append(".rar");
}
fax.enviarCorreo(new String(sbuf),i);
sbuf=new StringBuffer();
}
}
No se olviden de configurar adecuadamente los puertos para su servidor. En mi caso, configuré gmail.
Saludos.