Erro ao enviar email

Boa Tarde,

Estou tentando enviar um e-mail com anexo, porém se eu rodar esse código por dentro do eclipse funciona, envia email com o anexo, perfeito.
Só que minha aplicação executa como um serviço no windows, e sempre que alguém parar o serviço manualmente,essa rotina é chamada deveria enviar o e-mail com o anexo. Porém ocorre o seguinte erro:

javax.mail.MessagingException: IOException while sending message;
  nested exception is:
	javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
	boundary="----=_Part_0_26619001.1440023486204"
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1167)
	at javax.mail.Transport.send0(Transport.java:254)
	at javax.mail.Transport.send(Transport.java:124)
	at br.com.backupsafe.generic.framework.utils.EnviarEmail.enviarEmail(EnviarEmail.java:125)
	at br.com.backupsafe.exception.TratamentoException.enviarEmailStopBackupSafe(TratamentoException.java:187)
	at br.com.backupsafe.main.StopBackupSafe.main(StopBackupSafe.java:10)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
	boundary="----=_Part_0_26619001.1440023486204"
	at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
	at javax.activation.DataHandler.writeTo(Unknown Source)
	at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1627)
	at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1849)
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119)
	... 5 more

O código completo da rotina está abaixo:

public static Boolean enviarEmail(File anexo,String mensagem,String titulo) throws MessagingException, IOException {

		Properties props = new Properties();
		//** Parâmetros de conexão com servidor Gmail *//*
		props.put("mail.smtp.host", "smtp.gmail.com");
		props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.port", "465");

		Session session = Session.getDefaultInstance(props,
				new javax.mail.Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() 
			{
				return new PasswordAuthentication("email", "senha");
			}
		});

		//** Ativa Debug para sessão *//*
		//session.setDebug(true);

		try {

			Message message = new MimeMessage(session);
			message.setFrom(new InternetAddress("email")); //Remetente
			message.setText(StringUtils.normalizar(mensagem));

			Address[] toUser = InternetAddress //Destinatário(s)
					.parse("email");  

			message.setRecipients(Message.RecipientType.TO, toUser);
			message.setSubject(StringUtils.normalizar(titulo));//Assunto

			if(anexo!= null){
				
				
				
				// cria a primeira parte da mensagem
				MimeBodyPart mbp1 = new MimeBodyPart();
				mbp1.setText(StringUtils.normalizar(mensagem));			

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

				mbp2 = new MimeBodyPart();
				byte[] arrBytes = Files.readAllBytes(anexo.toPath());
				DataSource src = new ByteArrayDataSource(arrBytes, "image/png");  
				mbp2.setDataHandler(new DataHandler(src));
				
				// cria a Multipart
				Multipart mp = new MimeMultipart();
				mp.addBodyPart(mbp1);
				mp.addBodyPart(mbp2);

				// adiciona a Multipart na mensagem
				message.setContent(mp,"text/plain");
			}

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

			//**Método para enviar a mensagem criada*//*
			Transport.send(message);

			return true;
		} catch (AddressException e) {
			throw e;  
		} catch (javax.mail.MessagingException e) {
			throw e;
		}		
	}

Já tentei seguir este tutorial:

http://www.guj.com.br/java/244100-mail-api-e-multpart

Alguém consegue me ajudar???

Qual versão do JavaMail está usando? Parece que esse erro estava acontecendo com versões inferiores ao 1.4.7 para quem usa java 7 ou superior.

A ultima versão pode ser baixada aqui https://java.net/projects/javamail/pages/Home#Download_JavaMail_Release