Enviar Email Javamail

Boas pessoal,
Tenho uma class que envia email perfeito usando a API JavaMail .

O problema é que quando eu coloco em anexo uma imagem ela não é apresentada na pagina html. A imagem fica como anexo.

Como é que faço para que a imagem fique no html assim que o utilizador abre a mensagem ? ou tra coisa é que o o texto que escrevo igualmente nao aparece no corpo da mensagem :
Eis o codigo :

private static final String SMTP_AUTH_USER = "utilizador";
  private static final String SMTP_AUTH_PWD  = "password";
  
    
   
   public  void send(String smtpServer, String to, String from, String subject,  String anexo, String texto)
  {
       
  
       
   JFrame frame = new JFrame(); 
       try
    {

        Properties props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.host", smtpServer);
        props.put("mail.smtp.auth", "true");


        Authenticator auth = new SMTPAuthenticator();

        Session session = Session.getDefaultInstance(props, auth);
        session.setDebug(true);

        Transport transport = session.getTransport();

        //Cria um ficheiro para ser anexado a mensagem
        MimeBodyPart mbp1 = new MimeBodyPart();
        mbp1.attachFile(anexo);

        Multipart mp = new MimeMultipart();
        mp.addBodyPart(mbp1);   //  Anexo do email !


        MimeBodyPart imagePart = new MimeBodyPart();
        DataSource fds = new FileDataSource("C:\\imagens\\DESERTO.gif");
        imagePart.setDataHandler(new DataHandler(fds));
        mp.addBodyPart(imagePart);


        Message msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress(from));
        msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));

        msg.setSubject(subject);
        msg.setSentDate(new Date());
        msg.setText(texto);

        msg.setContent(mp);



        transport.connect();
        transport.send(msg);
        /*
        transport.sendMessage(msg,
                msg.getRecipients(Message.RecipientType.TO));
         * */
         
        transport.close();

    }
    catch (Exception ex)
    {
  
         ex.printStackTrace();
    }
    
    
  }

   private class SMTPAuthenticator extends javax.mail.Authenticator {
        public PasswordAuthentication getPasswordAuthentication() {
           String username = SMTP_AUTH_USER;
           String password = SMTP_AUTH_PWD;
           return new PasswordAuthentication(username, password);
        }
    }



 //Metodo main
   public static void main(String args[]){
      try
    {
      String smtpServer="mySMTPServer";
      String to =("teu@email.com");
      String from="meu@email.com";
      String subject="E-mail de teste";      
      String anexo = "C:\\Documento.pdf";
      String bd = new String("Bla bla bla bla bla........ texto do corpo ");





      EnviaEmail evm = new EnviaEmail();
      evm.send(smtpServer, to, from, subject, anexo, bd);

    }
    catch (Exception ex)
    {
      ex.printStackTrace();
    }

Obrigado desde ja !

Cara isso não fica por conta do seu provedor de email não?