javahtmlemail

HTML formatted text in an email in Java


     try{
        String msg="Happy BirthDay Dear,<b> "+name.toUpperCase()+" </b> !!! Have a Great Day. \n \n Thank You \n Seva Development ";
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message);
        helper.setTo(email);
        helper.setText(msg);
        helper.setSubject("BirthDay");
        mailSender.send(message);

    }catch (Exception e){}
}

I am trying to bold the name of the user but it displays as it is in the mail as shown in the picture. Ideas or solutions are highly appreciatedenter image description here


Solution

  • This worked for me, I have changed two line code, Thank you all for your contribution

    private void sendEmail(String email,String name) throws Exception{
        Thread thread=new Thread(){
            @Override
            public void run() {
    
                try{
                    String msg="Dear<b> "+name.toUpperCase()+" </b>,<p> On Behalf of someone we would like to wish you a Many many Happy returns of the day</p> <p style=color:red;>Happy Birthday and Have a Great Day.</p>\n \n Thank You!";
    
                    MimeMessage message = mailSender.createMimeMessage();
                    MimeMessageHelper helper = new MimeMessageHelper(message,true);
                    helper.setTo(email);
                    helper.setText(msg);
                    message.setContent(msg, "text/html");                   
                    helper.setSubject("BirthDay");
                    mailSender.send(message);
    
                }catch (Exception e){}
            }
        };
        thread.start();
    
    }
    

    enter image description here